在此服务器上找不到PHP卷曲错误Url

时间:2013-09-19 14:51:12

标签: php url curl

我正在研究核心php。 我正在通过curl请求一个URL。这正在我的开发服务器上工作,但同样的事情不适用于实时服务器。

以下是我的代码:


$url = "http://www.streamatemodels.com/login.php";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url); 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);

curl_setopt($ch, CURLOPT_AUTOREFERER, true); 

curl_setopt($ch, CURLOPT_TIMEOUT, 15);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, 'submitted=1&g=&sausr='.urlencode('username').'&sapwd='.urlencode('password').'');

$result = curl_exec($ch); 
$error = curl_errno($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);  
print_r($result);

如果有人有解决方案,请帮帮我。


更新

我使用新的用户名和密码检查了这一点,但同样的事情发生了。它在我的开发服务器上工作,但不在现场和本地主机上工作。

1 个答案:

答案 0 :(得分:0)

以下一行:

curl_setopt($ch, CURLOPT_POSTFIELDS, 'submitted=1&g=&sausr='.urlencode('username').'&sapwd='.urlencode('password').'');

应更改为:

curl_setopt($ch, CURLOPT_POSTFIELDS, 'submitted=1&g=&sausr='.urlencode($username).'&sapwd='.urlencode($password).'');

如果仍然无法正常工作,请尝试在curl_setopt之外创建查询字符串:

 $params = 'submitted=1&g=&sausr='.urlencode($username).'&sapwd='.urlencode($password).'';
 curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

另一个建议:使用http_build_query($params)

是一种更好的做法

<强>更新

我有时间检查代码,它在我的本地主机上工作正常(意思是:检查你的用户名/密码!):

enter image description here