php curl发布数据以从引用的url获取值
我想将post数据发送到页面以获取值。问题是我想从php curl发布数据以从引用的url获取值,php,session,curl,cookies,libcurl,Php,Session,Curl,Cookies,Libcurl,我想将post数据发送到页面以获取值。问题是我想从abc.com获取数据。只有当用户从abc.com/previous url进入abc.com时,abc.com才会打开 可能是在做一些会话或cookies来进行身份验证。我不知道 我想做的是从abc.com获取数据。有没有办法通过卷曲来做这件事 我的php代码: 当您运行代码时,它会显示url已被移动对于此url,您需要来自旧的参考url,然后它在浏览器中工作 $SearchBy=“2”; $AttorneySearchMode=“Name”;
abc.com
获取数据。只有当用户从abc.com/previous url
进入abc.com
时,abc.com
才会打开
可能是在做一些会话或cookies来进行身份验证。我不知道
我想做的是从abc.com获取数据。有没有办法通过卷曲来做这件事
我的php代码:
当您运行代码时,它会显示url已被移动
对于此url,您需要来自旧的参考url,然后它在浏览器中工作
$SearchBy=“2”;
$AttorneySearchMode=“Name”;
$LastName=“史密斯”;
$FirstName=“威廉”;
$CaseStatusType=“0”;
$SortBy=“fileddate”;
echo$url='https://www.clarkcountycourts.us/Anonymous/Search.aspx?ID=400&NodeID=101%2c103%2c104%2c105%2c500%2c600%2c601%2c602%2c603%2c604%2c605%2c606%2c607%2c608%2c609%2c610%2c611%2c612%2c613%2c614%2c615%2c616%2c617%2c618%2c619%2c699%2c700%2c701%2c702%2c703%2c704%2c705%2c706%2c707%2c708%2c709%2c710%2c711%2c712%2c713%2c714%2c715%2c716%2c717%2c718%2c719%2c720%2c721%2c722%2c723%2c724%2c725%2c726%2c727%2c728%2c729%2c730%2c731%2c797%2c798&NodeDesc=所有+法院';
//设置POST变量
$fields=数组(
'SearchBy'=>urlencode($SearchBy),
“律师搜索模式”=>urlencode($AttorneySearchMode),
“LastName”=>urlencode($LastName),
“FirstName”=>urlencode($FirstName),
“CaseStatusType”=>urlencode($CaseStatusType),
'SortBy'=>urlencode($SortBy),
);
$fields_string=“”;
foreach($key=>$value的字段){
$fields_string.=$key.='.$value.&';
}
rtrim($fields_string,&');
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result=curl\u exec($ch);
卷曲关闭($ch);
打印(结果);
这里是一个起点,有一些小的补充
我发现3个问题阻止我在他们的服务器上请求页面:
CURLOPT\u SSL\u VERIFYPEER
,CURLOPT\u SSL\u VERIFYHOST
)// first fetch search page to set cookies
$url = 'https://www.clarkcountycourts.us/Anonymous/Search.aspx?ID=400&NodeID=101%2c103%2c104%2c105%2c500%2c600%2c601%2c602%2c603%2c604%2c605%2c606%2c607%2c608%2c609%2c610%2c611%2c612%2c613%2c614%2c615%2c616%2c617%2c618%2c619%2c699%2c700%2c701%2c702%2c703%2c704%2c705%2c706%2c707%2c708%2c709%2c710%2c711%2c712%2c713%2c714%2c715%2c716%2c717%2c718%2c719%2c720%2c721%2c722%2c723%2c724%2c725%2c726%2c727%2c728%2c729%2c730%2c731%2c797%2c798&NodeDesc=All+Courts';
$ch = curl_init();
// needed to disable SSL checks for this site
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
// enable cookie handling (they aren't saved after cURL is closed)
curl_setopt($ch,CURLOPT_COOKIEFILE, '');
// debugging
curl_setopt($ch,CURLOPT_VERBOSE, 1);
curl_setopt($ch,CURLOPT_STDERR, fopen('php://output', 'w'));
// helpful options
curl_setopt($ch,CURLOPT_AUTOREFERER, true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
// set first URL
curl_setopt($ch,CURLOPT_URL, $url);
// execute first request to establish cookies & referer
$data = curl_exec($ch);
// TODO: extract hidden form fields/values from form
$fields_string = '...';
// now make second request
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
curl_close($ch);
var_dump($result);
请参阅我的一些其他答案,其中显示了如何提取其他表单字段和执行多个请求。另见()和()
希望这会有所帮助,请用问题/问题回复