簡體   English   中英

Python/Flask 如何從 url 獲取信息

[英]Python/Flask how to take information from url

我正在嘗試從 blockonomics 實現這個 API。 它被稱為 HTTP 回調,它將數據發送到我的 HTTP 或我給它的網站上的鏈接。 例如,我給它 website.com/api 它會發送 website.com/api?info=value&info2=value2 並且你明白了。 所以我希望能夠獲取這些數據並將其實現到我的燒瓶程序中。 他們提供的示例代碼是用 PHP 編寫的,我明白了它的要點,但我不知道如何制作這個 python。

這是它將發送的回調

/api/callback_url?status=2&addr=1C3FrYaGgUJ8R21jJcwzryQQUFCWFpwcrL&value=10000&txid=4cb3 0849ffcaf61c0e97e8351cca2a327223ceb67ace3bc6dc

這是它給我的 PHP 代碼。

<?php
$secret = 'Mabcdas122olkdd';
$txid = $_GET['txid'];
$value = $_GET['value'];
$status = $_GET['status'];
$addr = $_GET['addr'];

//Match secret for security
if ($_GET['secret'] != $secret) {
    return;
}

if ($status != 2) {
//Only accept confirmed transactions
return;
}

$db = new SQLite3('payments_db.sqlite', SQLITE3_OPEN_READWRITE);

//Mark address in database as paid
$stmt = $db->prepare("UPDATE payments set addr=:addr,txid=:txid,".
                        "value=:value where addr=:addr");
$stmt->bindParam(":addr", $addr);
$stmt->bindParam(":txid", $txid);
$stmt->bindParam(":value", $value);
$stmt->execute();

?>
           

我試着做這條線

requests.get("website.com/api", params=['addr':'value', 'value':'value', ETC...)
            

然后將其記錄為 json 但顯然這不是正確的方法,因為它不起作用。 有人基本上可以解釋如何從 API 發送給我的 URL 中獲取數據並將其轉換為我可以使用的數據嗎? 我只需要至少記錄正在發送的內容,我知道如何做剩下的事情。

你可以這樣做

from flask import request

@app.route("api/callbackurl")
def getData():
    # get query string
    status = request.args.get('status')
    addr = request.args.get('addr')

您需要一個支持 GET 方法的路由。

@app.route('/api/callback_url')
def callback_url():
   # your code here!

您可以通過請求對象根據名稱查詢 url 參數。

from flask import request
secret = request.args.get('secret')

如果該值不存在,則返回 None 或指定的默認值。
如果傳遞了類型參數,則會自動轉換該值。

status = request.args.get('status', 0, type=int)

暫無
暫無

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

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