发送放置请求 (cURL)


sending put request (cURL)

您好,我尝试将带有电子邮件信息的PUT请求发送到指定的URL,但我收到错误:

"success":false,"error":"The request you sent is either invalid or too big."

我看过很多教程,但无法让其中任何一个工作。这是我一直在尝试的代码:

<?php 
$handle = curl_init();
curl_setopt_array(
    $handle,
    array(
        CURLOPT_URL => "http://www.trikoder.hr/api/v1/RequestJobApplication/",
        CURLOPT_POSTFIELDS => "?email=xxx@gmail.com",
        CURLOPT_RETURNTRANSFER => true
    )
);
$response = curl_exec($handle);
curl_close($handle);
echo '<pre>';
print_r($response);

任何帮助不胜感激!

python

中只有几行,我已经检查过了,它可以:)

I da majstore sretno na razgovoru :)

 import requests
    r = requests.put("http://www.trikoder.hr/api/v1/RequestJobApplication/", "email=spada4ever@hotmail.com")
    print r.json()

它不在PHP中,但它是解决方案之一:

curl -X PUT http://www.trikoder.hr/api/v1/RequestJobApplication/ -d email=bla@smth.com

祝求职面试好运...

您可能需要

尝试以下代码。 它将显示一些响应而不是错误。 您需要将帖子字段设置为 true,并且还需要为帖子字段自动创建查询字符串。要么检查你的网址。http://www.trikoder.hr/api/v1/RequestJobApplication/

$handle = curl_init();
curl_setopt_array(
    $handle,
    array(
        CURLOPT_URL => "http://www.trikoder.hr/api/v1/RequestJobApplication/",
         CURLOPT_POST=> 1,
        CURLOPT_POSTFIELDS => "email=xxx@gmail.com",
        CURLOPT_RETURNTRANSFER => true
    )
);
$response = curl_exec($handle);
$output = curl_getinfo($handle);
print_r($output);
curl_close($handle);
echo '<pre>';
print_r($response);

我已经尝试过并且输出 curl 信息还可以,需要检查您的结束和输出为:-

Array ( [url] => http://www.trikoder.hr/api/v1/RequestJobApplication/ [content_type] => application/json; charset=utf-8 [http_code] => 200 [header_size] => 341 [request_size] => 172 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.904 [namelookup_time] => 0 [connect_time] => 0.421 [pretransfer_time] => 0.421 [size_upload] => 19 [size_download] => 132 [speed_download] => 146 [speed_upload] => 21 [download_content_length] => 132 [upload_content_length] => -1 [starttransfer_time] => 0.904 [redirect_time] => 0 )

有关放置请求,请遵循:-使用 PHP cURL 发送 PUT 请求

执行PUT时必须定义内容的长度,否则将无法正常工作。例:

$fields = "email=xxx@gmail.com";
CURLOPT_URL => "http://www.trikoder.hr/api/v1/RequestJobApplication/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => $fields,
// this is must for PUT
CURLOPT_HTTPHEADER => array('Content-Length: ' . strlen($fields)),