这是我的代码
使用我上面的示例输出文件" index.php"如果它确实存在,则在url网站上不存在,在我看来curl试图在其自己的文件不存在的网站上打开该文件。 我希望这是有道理的。 这是系统在尝试访问网站时写入url.txt文件的内容
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
答案 0 :(得分:4)
我刚用Google测试了这个,这是url.txt
(空白和所有)的输出:
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
url = http://google.com/
我使用您提供的网址对其进行了测试,似乎响应为我们提供了302:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://redirect.main-hosting.com/error404.php/24?domain=earnigc.com">here</a>.</p>
</body></html>
url = http://earnigc.com/index.php?sid=1
因此,我将查看服务器端代码(无论循环/函数正在检查$_GET['sid']
的值),看看那里出了什么问题。如果您经常遇到错误,可能会阻止您的IP地址。
为了清楚起见 - cURL按预期工作,这是服务器方面的问题。
修改强>
根据您提供的更多信息(网址实际为http://highestpaygpt.com/tools/pts/61_4f363ad4359302e.php?sid=ccarson030308_cc8e4499&earned=20&status=1
),我得到的回复如下:
You do not have authorization to access this page.
url = http://highestpaygpt.com/tools/pts/61_4f363ad4359302e.php?sid=ccarson030308_cc8e4499&earned=20&status=1
因此,cURL正如预期的那样工作,这是您的授权。考虑在服务器上使用带有cURL和/或身份验证方法的cookie。
您似乎正在编写一个自动cURL脚本以欺诈方式进入竞赛(并且违反该网站的条款和条件)。
答案 1 :(得分:3)
首先,为了确保,请尝试添加
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$verbose = fopen('php://temp', 'rw+');
curl_setopt($ch, CURLOPT_STDERR, $verbose);
现在,在你的卷曲执行官之后,执行以下操作并返回结果。
rewind($verbose);
$vblog = stream_get_contents($verbose);
echo "<pre>", htmlspecialchars($vblog), "</pre>\n";
答案 2 :(得分:0)
请尝试使用以下基本功能,并检查curl_error&amp ;; curl_exec()返回true或不返回:
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
if(curl_exec($ch) === false)
{
echo 'Curl error: ' . curl_error($ch);
}
else
{
echo 'Operation completed without any errors';
}
// close cURL resource, and free up system resources
curl_close($ch);