这就是问题所在,有一种服务类型site.ua/get_new.php?nomer=998166803
,我正试图从中获取信息。如果你直接在浏览器中输入地址,一切都很好,显示信息。如果用curl解析,则解析<h3>... не найдена</h3>
适用于其他站点的一组标准选项,部分代码:
'curl_options' => [
CURLOPT_URL => 'http://www.site.ua/get_new.php?',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_CONNECTTIMEOUT => 20,
CURLOPT_TIMEOUT => 20,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0',
CURLOPT_REFERER => 'http://www.site.ua/'
]
会不会是编码问题?我使用 utf8,站点在 cp1251 上。尝试从浏览器、Accept-Language 和其他发送标头。
是否可以使用已生成的 postdata 获取通过 curl 访问的 url 以检查 url?如何解决问题?
可以使用 来完成
curl_getinfo
,例如:总的来说,由于这些材料,我弄明白了
- https://www.sitepoint.com/community/t/curl-request-in-diff-methods/30571/3
- https://stackoverflow.com/questions/ 1225409/how-to- switch-from-post-to-get-in-php-curl
当使用GET方法时,必须立即以这种方式形成请求url
CURLOPT_HTTPGET
或者CURLOPT_CUSTOMREQUEST
使用它没有意义,因为在最新版本中默认使用curl
该方法。GET
因此,我们使用一个普通的CURLOPT_POST
,并像上面的代码一样形成一个字符串。