支持url批量发post请求的python工具是什么?,urlpython,有个几十万行的文本文件,
支持url批量发post请求的python工具是什么?,urlpython,有个几十万行的文本文件,
有个几十万行的文本文件,里面逐行有一些信息
有没有什么工具可以给某个url批量按照文本文件一行行发post请求呢?
求具体说明
一个写的比一个短你们这是逼我啊 ... 要比拼 Hello World 么 ..?
awk '{ system( "curl -d \"data=" $0 "\" http://url" ) }' file.txt
awk 单行搞定 ...
试试apache的ab,或者类似的siege, http_load
nodejs:
lineArray = []request = require 'request'lineArray.forEach (line)-> request.post line
这种事情太适合用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()
如果需要的话还可以加入连接超时然后重新发起请求,还可以使用多线程来减少整个的时间。
你们为什么一定要比短....
wget -b -q -O /dev/null --post-data="" -i urls_file
有轮子的时候用轮子 ... 没有轮子的时候就自己造一个轮子好了 ...
好吧其实我就是突然有一点点闲时间可以帮你写写代码这样 ...
<?php/* put your text file location here ... */define( 'TEXT_SRC', '/path/to/your.text.file.txt' );/* put the url which you wanna post data to here ... */define( 'DATA_URL', 'http://the.url.data/goes.to' );/* put post field name here ... */define( 'POST_PFX', 'data' );/* read million data from source ... */$text_src = file( TEXT_SRC, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );/* hey here comes cURL ... */$curl = curl_init();/* prepare cURL and make a very fashion UA header ... */curl_setopt_array( $curl, [ CURLOPT_URL => 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 扩展 ... 前三行是配置区需要自行修改 ...
另外程序是以牺牲内存为代价提升效率的 ... 因为我觉得说只有几十万行的话应该文件不会太大 ...
程序会把那个文本文档一股脑读进内存 ... 所以如果要处理更多数据的话还要修改 ...
恩 ... 就是这样 ... 看看是不是你想要的效果呢 ..?
不太清楚你说的是一次 HTTP 请求还是多次请求。如果需要一次请求发送几十万行的文本数据,中间非常容易断掉。如果是多次请求,每次请求发送一行文本数据,可以试试看 curl 。不同的编程语言都有不同的实现方法,具体请查阅对应语言的官方文档。
js: for(var i=0;i<n;++i){window.open(url);}
import requestsfile = open("text.txt")for text in file.readlines(): data = {"data":text} resp = requests.get(url=url, data=data) print resp.textfile.close()
编橙之家文章,
相关内容
- PHP程序员学Java和Python哪个好,程序员javapython,现在使用
- 只有Python与SQL的基础知识能做网站后台搭建工作吗,
- 求本地测试微信公众平台的Python方法,信公众平台pyt
- Python中range与xrange分别在什么情况下使用,pythonxrange,这
- 请问Article表把主键暴露在URL中好吗?,articleurl,Django为每
- 求解决pip安装python库下载超时的有效方法,pippython,如题
- 用socket来搭建一个TCP的服务端啊,怎么才可以搭建?,
- 求python大牛帮看看这道简单的算法题如何巧解,python大
- Python表单是交给前端处理还是struts2处理好?,pythonst
- mysql重复数据表如何根据字段去重的问题,mysql重复数据
评论关闭