1

我想用 wget 得到这个页面的结果http://smart.embl-heidelberg.de/smart/batch.pl

我单击该页面上的“纯文本输出”,并将“标识符”的文件指定为具有以下内容的文件。

A0A183

然后我点击“提交查询”,这将引导我进入结果页面。我知道我应该以某种方式向 wget 提供 --post-data 选项以下载结果页面。但我很难弄清楚这个选项应该是什么。谁能让我如何弄清楚?(我尝试过 Chrome Devtools Network 标签。但我不确定从那里获得 --post-data 选项)。

我还尝试了以下方法。但它生成了一个空的输出文件。

~$ cat /tmp/000.txt
A0A183
~/linux/test/perl/library/WWW/Mechanize/bin/mech-dump$ mech-dump --forms http://smart.embl-heidelberg.de/smart/batch.pl

GET http://smart.embl-heidelberg.de/smart/search.cgi
  keywords=keywords...           (text)
  <NONAME>=Search SMART          (submit)

POST http://smart.embl-heidelberg.de/smart/batch.pl (multipart/form-data)
  IDS=                           (textarea)
  SEQS=                          (textarea)
  IDFILE=                        (file)
  SEQFILE=                       (file)
  TEXTONLY=<UNDEF>               (checkbox) [*<UNDEF>/off|1/Text-only output]
  LOOSE=<UNDEF>                  (checkbox) [*<UNDEF>/off|1/Substring matching for identifiers]
  DO_PFAM=<UNDEF>                (checkbox) [*<UNDEF>/off|DO_PFAM/include PFAM domains]
  INCLUDE_SIGNALP=<UNDEF>        (checkbox) [*<UNDEF>/off|INCLUDE_SIGNALP/include signal peptides]
  <NONAME>=<UNDEF>               (submit)
  <NONAME>=<UNDEF>               (reset)

~$ wget --post-data='IDFILE=/tmp/000.txt&TEXTONLY=1' http://smart.embl-heidelberg.de/smart/batch.pl
4

2 回答 2

2

怎么样:

wget --post-data='IDS=A0A183&TEXTONLY=1' http://smart.embl-heidelberg.de/smart/batch.pl
于 2013-07-21T05:46:44.843 回答
0

我知道这很旧,但得到了一个适用于wget的答案。

wget 1.13.4 或更高版本。检查这篇文章: https ://superuser.com/questions/86043/linux-command-line-tool-for-uploading-files-over-http-as-multipart-form-data

wget --header="Content-type: multipart/form-data boundary=FILEUPLOAD" --post-file 000.txt http://smart.embl-heidelberg.de/smart/batch.pl

000.txt

--FILEUPLOAD
Content-Disposition: form-data; name="IDS"


--FILEUPLOAD
Content-Disposition: form-data; name="SEQS"


--FILEUPLOAD
Content-Disposition: form-data; name="IDFILE"; filename="000.txt"
Content-Type: text/plain

A0A183
A0A182
--FILEUPLOAD
Content-Disposition: form-data; name="SEQFILE"; filename=""
Content-Type: application/octet-stream


--FILEUPLOAD
Content-Disposition: form-data; name="TEXTONLY"

1
--FILEUPLOAD--
于 2015-10-17T05:21:42.813 回答