Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过post将json数据发送到Web服务器时,始终会返回400_Php_Json_Curl_Request_Http Post - Fatal编程技术网

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。