Php 通过post将json数据发送到Web服务器时,始终会返回400
我知道在堆栈中有一些类似于我的问题,但我真的不明白我的代码出了什么问题。如果有人能看到它并给予一些帮助,那将是非常令人惊讶的 我想验证用户提供的用户名和密码是否正确,以及是否继续签出。如果没有,请继续登录新帐户。 我的代码是:Php 通过post将json数据发送到Web服务器时,始终会返回400,php,json,curl,request,http-post,Php,Json,Curl,Request,Http Post,我知道在堆栈中有一些类似于我的问题,但我真的不明白我的代码出了什么问题。如果有人能看到它并给予一些帮助,那将是非常令人惊讶的 我想验证用户提供的用户名和密码是否正确,以及是否继续签出。如果没有,请继续登录新帐户。 我的代码是: $email=$_POST['email']; $pass=$_POST['pass']; $pass=sha1($pass); $jdados=array("email" => $email, "password" =>
$email=$_POST['email'];
$pass=$_POST['pass'];
$pass=sha1($pass);
$jdados=array("email" => $email,
"password" => $pass);
$json_dados = json_encode($jdados);
$len = strlen($json_dados);
$file=fopen("result/test.txt", "w");
$config=array(CURLOPT_RETURNTRANSFER => "1",
CURLOPT_VERBOSE => "1",
CURLOPT_URL => $url,
CURLOPT_POST => "1",
CURLOPT_HEADER => $header,
CURLOPT_POSTFIELDS => $json_dados,
CURLOPT_CONNECTTIMEOUT =>"10"
);
$curl=curl_init($url);
curl_setopt_array($curl, $config);
$result=curl_exec($curl);
$json_result=json_decode($result);
if($result === FALSE){
die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
}else{
curl_close($curl);
fclose($file);
}
已建立连接,但我始终收到HTTP/1.1 400错误请求。400响应取决于您向其发出请求的服务器。如果看不到这一点,就无法知道它返回400错误的原因。关于服务器的唯一信息是它接受POST对json数据的请求。您不需要将$url传递给curl_init并设置CURLOPT_url,它们也会做同样的事情。因为我们看不到URL,所以我们不知道你是否在发布一个有效的URL…谢谢你的提示。url正常工作。感谢您的帮助,我找到了错误所在。CURLOPT_标头而不是CURLOPT_HTTPHEADER。