簡體   English   中英

嘗試使用 php 進行 curl 發布請求

[英]trying to do curl post request using php

我知道這不是新的,使用 php 使用 curl 進行發布請求,但我正在與這個做斗爭。 成功運行的 curl 命令行輸入如下:

curl -v  -X POST --data  "{\"dev_id\":\"a8610a3237397a01\",\"payload_raw\":\"Ag==\"}"  https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/mkrwan1300a8610a3237397a01/sendvalvestatus?key=ttn-account-v2.lYA16-xxxxxxxxxxxxxxxxxxxxxx

我正在嘗試在 PHP 中做同樣的事情,以便能夠在事物網絡中對我的端點執行下行鏈路。 我正在嘗試以下操作:

<?php


 echo('hello');

 $url = 'https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/mkrwan1300a8610a3237397a01/sendvalvestatus?key=ttn-account-v2.lYA16--xxxxxxxxxxxxxxxxxxxxxx';
    $ch = curl_init($url);  
     // Setup request to send json via POST
    $data = array(
        'AQ=='
    );
    $payload = json_encode(array("payload_raw" => 'AQ=='));

    // Attach encoded JSON string to the POST fields
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

    // Set the content type to application/json
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

    // Return response instead of outputting
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // Execute the POST request
    $result = curl_exec($ch);

 
    $output=curl_exec($ch);
    $info = curl_getinfo($ch);
    echo "<pre>";   
    print_r($info);
    echo "</pre>";    
     // Close cURL resource
    curl_close($ch);

 
?>

我得到的結果是:

hello
Array
(
    [url] => https://integrations.thethingsnetwork.org/ttn-eu/api/v2/down/mkrwan1300a8610a3237397a01/sendvalvestatus?key=ttn-account-v2.lYA16--xxxxxxxxxxxxxxxxxxxxxx
    [content_type] => text/plain; charset=utf-8
    [http_code] => 400
    [header_size] => 171
    [request_size] => 270
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.203
    [namelookup_time] => 1.0E-6
    [connect_time] => 1.0E-6
    [pretransfer_time] => 1.0E-6
    [size_upload] => 22
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 108
    [download_content_length] => 0
    [upload_content_length] => 22
    [starttransfer_time] => 0.203
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 13.69.184.129
    [certinfo] => Array
        (
        )

    [primary_port] => 443
    [local_ip] => 10.0.0.109
    [local_port] => 53234
)

所以它對我的數據不滿意。 我只是想在值的base64編碼中發送一個payload_raw:'AQ=='有什么想法嗎?

好的,所以我忘了將他的設備 ID 作為有效負載的一部分。 解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM