我需要能够提供点击时指向此页面的网址:
https://my.blood.co.uk/SessionFinder
但是,在不添加空白搜索表单的情况下,会给出一组特定的搜索结果(即给定特定的location
,datefrom
和dateto
值。
基本上我需要能够提供格式https://my.blood.co.uk/SessionFinder?a=location...
的网址。这可能吗?我该如何确定正确的参数?
由于
答案 0 :(得分:0)
这取决于页面是否接受GET请求而不是POST。该页面上的表单将POST作为action
参数,因此不确定。您始终可以尝试编译表单,以便检查使用某些开发人员工具发送的参数。
然后,您可以尝试使用由相同参数生成的查询字符串创建GET请求,并查看它是否有效。
答案 1 :(得分:0)
您可以将PHP和CURL与POST参数一起使用。
例如:
$post_data = array("SessionSearch.Location"=>$location,"SessionSearch.DateFrom"=>$date_from);
$url = "https://my.blood.co.uk/SessionFinder";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$response = @curl_exec($ch);
curl_close($ch);
问题是您必须将会话保存在COOKIE文件中,并为每个请求重新发送该COOKIE文件。