Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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
curl post无法使用java开发的REST API发送json数据_Java_Php_Rest_Api_Curl - Fatal编程技术网

curl post无法使用java开发的REST API发送json数据

curl post无法使用java开发的REST API发送json数据,java,php,rest,api,curl,Java,Php,Rest,Api,Curl,我试图使用RESTAPI从php文件发送json数据,RESTAPI是用java开发的,用于将数据存储到数据库中。 这是我的密码 $p_name = $_POST['p_name']; $tick = $_POST['tick']; $url3 = 'http://myipaddress:port/myurl/'; $cookie_file =dirname(__FILE__).'\cookiefile.txt'; $form_data = array(

我试图使用RESTAPI从php文件发送json数据,RESTAPI是用java开发的,用于将数据存储到数据库中。 这是我的密码

$p_name = $_POST['p_name'];
    $tick = $_POST['tick'];


    $url3 = 'http://myipaddress:port/myurl/';
    $cookie_file =dirname(__FILE__).'\cookiefile.txt';

    $form_data = array(
        'p_name' => $p_name,
        'tick' => $tick
    );
    $str = json_encode($form_data);
    $ch = curl_init($url3);

    curl_setopt($ch,CURLOPT_CUSTOMREQUEST, 'POST' );
    curl_setopt($ch,CURLOPT_POSTFIELDS, $str);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',
            'Content-Length: '.strlen($str)
    ) );
    // set cookie
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    // use cookie
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

    if(curl_exec($ch) === false)
    {
        echo 'Curl error: ' . curl_error($ch);
    }
    else
    {
        echo 'Operation completed without any errors';
        $response3 = curl_exec($ch);
    }

    $responseHTTP = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    $result3 = json_decode($response3);

    var_dump($responseHTTP);
这是java部分的代码

@POST
@Path("/mypath")
@Produces("application/json")
@Consumes("application/json")
public String savePortFolioRecords(MyObject list_myobject){
    String return_string=null;
    try{
        mydataManager dataManager=new mydataManager();
        dataManager.setup();
        dataManager.insertRecordsApi(list_myobject);
        dataManager.exit();
        Gson gson=new Gson();
        return_string=gson.toJson("successfully insert the data");
    }catch (Exception e) {
        // TODO: handle exception
        System.out.println("Giving Exception due to: "+e);
    }
    return return_string;
}
当我使用postman测试API时,它工作得很好,可以将数据插入数据库,但在响应框中会显示类似“意外的”的文本。 但当我试图使用curl从php文件发送值时,它并没有将数据存储到数据库中。我不明白我的函数是否在php中 在java节中不发送数据或无法接收json数据

此外,当我使用
curlinfou HTTP\u code
并使用
var\u dump
打印相应的响应时,它会显示
int(404)
。 我已经通过这些链接解决了我的问题,但没有找到任何解决方案


谁能告诉我这里有什么问题吗?我不明白这是我的php文件还是java文件中的问题。

/myurl/!=/Myurl我只是想让你了解我的方法。虽然为了方便你,我已经编辑过了。我希望你现在能理解。