Код скрипта:
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4");
curl_setopt ($ch, CURLOPT_URL, 'http://www.awardspace.com/login.html');
curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
сurl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
сurl_setopt ($ch, CURLOPT_COOKIEFILE, PATH_CORE . 'data/awardspace-login.txt');
curl_setopt ($ch, CURLOPT_COOKIEJAR, PATH_CORE . 'data/awardspace-login.txt');
$result = curl_exec ($ch);
curl_close ($ch);
Ответ, который получает скрипт от сервера (учитывая заголовок).
HTTP/1.0 417 Expectation failed
Server: squid/2.7.STABLE4
Date: Sat, 07 Nov 2009 10:33:45 GMT
Content-Type: text/html
Content-Length: 1455
Expires: Sat, 07 Nov 2009 10:33:45 GMT
X-Squid-Error: ERR_INVALID_REQ 0
X-Cache: MISS from proxy
X-Cache-Lookup: NONE from proxy:3128
Via: 1.0 proxy:3128 (squid/2.7.STABLE4)
Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to process the request:
<PRE>
POST /login.html HTTP/1.1
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4
Host: www.awardspace.com
Accept: */*
Content-Length: 449
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------4a14a0dc40a5
</PRE>
<P>
The following error was encountered:
<UL>
<LI>
<STRONG>
Invalid Request
</STRONG>
</UL>
<P>
Some aspect of the HTTP Request is invalid. Possible problems:
<UL>
<LI>Missing or unknown request method
<LI>Missing URL
<LI>Missing HTTP Identifier (HTTP/1.0)
<LI>Request is too large
<LI>Content-Length missing for POST or PUT requests
<LI>Illegal character in hostname; underscores are not allowed
</UL>
<P>Your cache administrator is <A HREF="mailto:webmaster">webmaster</A>.
<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Sat, 07 Nov 2009 10:33:45 GMT by proxy (squid/2.7.STABLE4)
</ADDRESS>
</BODY></HTML>
Подскажите, как можно исправить эту ошибку? Возможно, требуется послать особые заголовки?
ЗЫ: замечено, что если отправку вести вручную через сокеты, посылая POST-запрос напрямую, всё проходит. Кроме того, проходят все запросы по https без проблем, на нормальном curl-е.
Спустя 1 час, 56 минут, 5 секунд (7.11.2009 - 15:34) Oyeme написал(а):
$pass = 'user:password';
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $pass);
curl_setopt($ch, CURLOPT_PROXY, "http://proxy.test.com:880"); //your proxy link is here
//для статуса проверяй curl_exec($ch)
Спустя 2 года, 3 месяца, 4 дня, 7 часов, 49 минут, 59 секунд (11.02.2012 - 22:24) Konstantin Krylov написал(а):
Спасибо. Удалось решить такую же проблему.