抱歉我的英文。 我需要使用php和curl在this page上获得价格。 此页面使用带有POST方法的HTML表单来获取产品内容。
我试图以这种方式得到答案:
require_once $_SERVER["DOCUMENT_ROOT"].'/vendor/autoload.php';
use \Curl\Curl;
$curl = new Curl();
$curl->post('http://www.k-rauta.ru/pages/product.aspx?pid=000000000501204050');
// or
$curl->post('http://www.k-rauta.ru/pages/product.aspx', array(
'pid' => '000000000501204050',
));
echo $curl->response;
答案 0 :(得分:1)
我查看了您尝试在代码中请求的页面。在我的浏览器中,它向我展示了价格。所以我尝试了curl
终端命令,当然,它说'永久地移动'。
该网站只需要您访问一个(会话)Cookie,因此在正常情况下,您的浏览器首先会被“永久移动”'与会话cookie一起。然后,它会自动重定向到任何地方,在适当的产品页面上,因为它已经有cookie。 (这可能涉及多个重定向。)
现在更详细地了解一下,我可以看到唯一需要的cookie是' StoreDetails'。
我不知道这个cookie是如何生成的,但这是我的:
StoreDetails={5F28ADB5-0BD9-476F-9643-B01AEBB4319A}
因此,将此添加到您的代码应该有所帮助:
require_once $_SERVER["DOCUMENT_ROOT"].'/vendor/autoload.php';
use \Curl\Curl;
$curl = new Curl();
$curl->setCookie('StoreDetails', '{5F28ADB5-0BD9-476F-9643-B01AEBB4319A}');
$curl->post('http://www.k-rauta.ru/pages/product.aspx?pid=000000000501204050');
echo $curl->response;