簡體   English   中英

使用套接字測試出站HTTP調用?

[英]Testing an outbound HTTP call with sockets?

我正在嘗試為Django中的webhooks回調編寫單元測試。 設置我的應用程序是為了在我運行一些代碼時將POST請求發送到我選擇的URL,這是我要測試的功能。

我想設置一個偵聽此請求並告訴我是否已發送的套接字。 我想這是這樣的:

import socket

def webHooksTest(self):
    targetURL = 'http://127.0.0.1:8000'

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind('localhost', 8000)
    s.listen(1)
    s.accept()

    # Code that triggers POST request goes here

    self.assertNotEqual(s.recvd(), None, "WebHooks URL did not receive anything")

照原樣,這根本不起作用,因為程序將掛在s.accept()行上,並且從不發送請求。

我是異步編程的新手,可以使用一些建議。 通過檢查Python文檔,我相當確定僅套接字模塊無法做到這一點-我需要一些異步魔術。

套接字庫不能單獨執行此操作。 看看python扭曲了 這應該對您有幫助。 雖然我還沒有嘗試過使用django。

暫無
暫無

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

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