我试图调用在页面的URL在远程站点上。 决定使用卷曲。 在远程站点的URL瓦尔都呈现为:
$_REQUEST Array
(
[var1] => val1
[amp;var2] => val2
[amp;var3] => val3
)
被调用的网址是:
http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3
请注意,我没有使用&
在URL,但全球的要求有它,或几乎-它amp;
代替&
而不是&
像我用! 不,它应该有任何人。
在一个形式卷曲对象已登录,设置cookie,贴合形成另一个页面上,现在这是最后一个环节我都跟着。
这里是我使用的PHP:
curl_setopt($this->ch, CURLOPT_URL, "http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3");
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($this->ch, CURLOPT_REFERER, "http://site.com/");
curl_setopt($this->ch, CURLOPT_VERBOSE, 1);
curl_setopt($this->ch, CURLOPT_COOKIEJAR, $this->cookie);
curl_setopt($this->ch, CURLOPT_COOKIEFILE, $this->cookie);
curl_setopt($this->ch, CURLOPT_POST, 0);
curl_setopt($this->ch, CURLOPT_HTTPGET, 1);
$output = curl_exec($this->ch);
$info = curl_getinfo($this->ch);
我已经跑在此之后另一卷曲的要求,我仍然登录所以问题不是饼干。 因为最后一个请求(登录表单)使用$ _ POST也已在CURLOPT_POST设置为0,CURLOPT_HTTPGET为1。这是从$信息的输出:
info Array
(
[url] => http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3
[content_type] => text/html; charset=utf-8
[http_code] => 403
[header_size] => 403
[request_size] => 541
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.781186
[namelookup_time] => 3.7E-5
[connect_time] => 3.7E-5
[pretransfer_time] => 4.2E-5
[size_upload] => 1093
[size_download] => 3264
[speed_download] => 4178
[speed_upload] => 1399
[download_content_length] => 3264
[upload_content_length] => 0
[starttransfer_time] => 0.781078
[redirect_time] => 0
[certinfo] => Array
(
)
)
如果我复制和过去$信息[“网址”]为它工作的浏览器。 失去了对时钟完全丢失,时间,任何帮助,将不胜感激;)