为了清楚起见,我希望包含表单的页面(page1.php)检查用户从其他服务器页面(https://anotherserver.com/checker)输入的数据,并将其发送到page1.php,作为true或false。这是我第一次使用curl。我看不到任何与此代码有关的内容。
这是我的表单页面代码page1.php
function dataFn($url, $data = array()) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 3000);
$data = curl_exec($curl);
curl_close($curl);
return json_decode($data, true);
}
$data = dataFn(base64_encode('my base64 key'), ['value1' => $value2, 'value2' => $value2]);
var_dump($data);
die();
if (!$data) {
// some err
} else {
if ($data['status'] == 0) {
// some code
}
}
这是我的checker服务器页面
<?php
// validation page
print_r($_POST['value1']);
?>
1条答案
按热度按时间nwnhqdif1#
你没有犯太多的错误。它肯定不会与你的代码。
两种方法来制作你的帖子数据。
根据数据的不同,您可能需要使用urlencode()
我做了很多 curl 这些是我的标准后选项
这些是我的故障排除选项
您需要查看请求(输出)和响应头(输入),因此您需要这两个选项。
这两个选项必须在解决问题后才能出来。
如果是HTTPS,则需要以下选项:
我总是制作我自己的请求头。你可以删除这个选项,它不是强制性的。
如果您在进行POST时遇到问题,请查看发送和接收的标头。
有时我会将所有响应curl信息保存为文本,有时会将其保存为echo
您需要从
curl_getinfo()
中得到CURLINFO_HEADER_OUT
然后你就可以看到你真正发送的内容了。
http响应ID非常重要。
curl_getinfo中有很多信息,可能会给予你其他提示。
如果我有网址,我肯定能让它工作。