有沒有什麼工具可以給某url批量發post請求?

來源:互聯網
上載者:User
有個幾十萬行的文字檔,裡面逐行有一些資訊
有沒有什麼工具可以給某個url批量按照文字檔一行行發post請求呢?
求具體說明

回複內容:

有個幾十萬行的文字檔,裡面逐行有一些資訊
有沒有什麼工具可以給某個url批量按照文字檔一行行發post請求呢?
求具體說明

一個寫的比一個短你們這是逼我啊 ... 要比拼 Hello World 麼 ..?

awk '{ system( "curl -d \"data=" $0 "\" http://url" ) }' file.txt

awk 單行搞定 ...

有輪子的時候用輪子 ... 沒有輪子的時候就自己造一個輪子好了 ...

好吧其實我就是突然有一點點閑時間可以幫你寫寫代碼這樣 ...

  DATA_URL,     CURLOPT_USERAGENT       =>          'Mozilla/1.22 (compatible; MSIE 2.0; Windows 3.1)',    CURLOPT_RETURNTRANSFER  =>  1,     CURLOPT_POST            =>  1,     ] );/* something to handle cURL result ... */$callback = function( $result ) {    return;};/* time for our BIG LOOOOOOOP ! */foreach( $text_src as $data ) {    /* fill data ... */    curl_setopt( $curl, CURLOPT_POSTFIELDS, POST_PFX . '=' . $data );    /* and send them out ! */    $callback( curl_exec( $curl ) );}/* you have had a long flight ... time for rest ... */curl_close( $curl );  

啟動並執行話需要 php 5.4.0 以上的版本和 cURL 擴充 ... 前三行是配置區需要自行修改 ...

另外程式是以犧牲記憶體為代價提升效率的 ... 因為我覺得說只有幾十萬行的話應該檔案不會太大 ...

程式會把那個文字文件一股腦讀進記憶體 ... 所以如果要處理更多資料的話還要修改 ...

恩 ... 就是這樣 ... 看看是不是你想要的效果呢 ..?

這種事情太適合用PYTHON來實現了。簡單的代碼如下:

text = open("__init__.py")import urllibwhile True:    line = text.readline()    if not line:        break    params = urllib.urlencode({'arg': line})    f = urllib.urlopen("http://UrUrl", params)    print f.read()text.close()

如果需要的話還可以加入連線逾時然後重新發起請求,還可以使用多線程來減少整個的時間。

不太清楚你說的是一次 HTTP 要求還是多次請求。如果需要一次請求發送幾十萬行的文本資料,中間非常容易斷掉。如果是多次請求,每次請求發送一行文本資料,可以試試看 curl 。不同的程式設計語言都有不同的實現方法,具體請查閱對應語言的官方文檔。

nodejs:

lineArray = []request = require 'request'lineArray.forEach (line)->    request.post line

試試apache的ab,或者類似的siege, http_load

js: for(var i=0;i

import requestsfile = open("text.txt")for text in file.readlines():    data = {"data":text}    resp = requests.get(url=url, data=data)    print resp.textfile.close()

你們為什麼一定要比短....

wget -b -q -O /dev/null --post-data="" -i urls_file
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.