Chinaunix

标题: 写一个访问一个uri网址的shell [打印本页]

作者: csstudy    时间: 2006-05-16 15:22
标题: 写一个访问一个uri网址的shell
我想写一个shell,到某种条件启动时,就向一个web服务器上发送诸如http://www.xxx.com/index.php?abc=a&ab=d的操作。就相当于满足某个条件,在浏览器上打开http://www.xxx.com/index.php?abc=a&ab=d

应该怎么做呢?

我在shell里用
wget http://www.xxx.com/index.php?abc=a&ab=d
好像不行。
作者: bourn    时间: 2006-05-17 11:47
以前写过一个:
wget -q --spider http://www.***.***/cgi-bin/test.exe?$line\&$text

试试吧,我不是记得很清楚了。
作者: csstudy    时间: 2006-05-17 21:52
谢谢。这就去试。
作者: csstudy    时间: 2006-05-17 21:56
不行呀。怎么回事。

我指定一个url,用浏览器成功。但是用wget就得不到效果。
作者: waker    时间: 2006-05-17 22:02
http://curl.haxx.se/
作者: wd    时间: 2006-05-18 09:27
埃,好容易看到一个可以回答的,被楼上抢先了。
# curl --help
Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only
-a/--append        Append to target file when uploading (F)
-A/--user-agent <string> User-Agent to send to server (H)
    --anyauth       Tell curl to choose authentication method (H)
-b/--cookie <name=string/file> Cookie string or file to read cookies from (H)
    --basic         Enable HTTP Basic Authentication (H)
-B/--use-ascii     Use ASCII/text transfer
-c/--cookie-jar <file> Write cookies to this file after operation (H)
-C/--continue-at <offset> Resumed transfer offset
-d/--data <data>   HTTP POST data (H)
    --data-ascii <data>   HTTP POST ASCII data (H)
    --data-binary <data>  HTTP POST binary data (H)
    --negotiate     Enable HTTP Negotiate Authentication (H)
    --digest        Enable HTTP Digest Authentication (H)
    --disable-eprt  Prevent curl from using EPRT or LPRT (F)
    --disable-epsv  Prevent curl from using EPSV (F)
-D/--dump-header <file> Write the headers to this file
    --egd-file <file> EGD socket path for random data (SSL)
    --tcp-nodelay   Set the TCP_NODELAY option
-e/--referer       Referer URL (H)
-E/--cert <cert[:passwd]> Client certificate file and password (SSL)
    --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)
    --key <key>     Private key file name (SSL)
    --key-type <type> Private key file type (DER/PEM/ENG) (SSL)
    --pass  <pass>  Pass phrase for the private key (SSL)
    --engine <eng>  Crypto engine to use (SSL). "--engine list" for list
    --cacert <file> CA certificate to verify peer against (SSL)
    --capath <directory> CA directory (made using c_rehash) to verify
                    peer against (SSL)
    --ciphers <list> SSL ciphers to use (SSL)
    --compressed    Request compressed response (using deflate or gzip)
    --connect-timeout <seconds> Maximum time allowed for connection
    --create-dirs   Create necessary local directory hierarchy
    --crlf          Convert LF to CRLF in upload
-f/--fail          Fail silently (no output at all) on errors (H)
    --ftp-create-dirs Create the remote dirs if not present (F)
    --ftp-pasv      Use PASV instead of PORT (F)
    --ftp-ssl       Enable SSL/TLS for the ftp transfer (F)
-F/--form <name=content> Specify HTTP multipart POST data (H)
    --form-string <name=string> Specify HTTP multipart POST data (H)
-g/--globoff       Disable URL sequences and ranges using {} and []
-G/--get           Send the -d data with a HTTP GET (H)
-h/--help          This help text
-H/--header <line> Custom header to pass to server (H)
-i/--include       Include protocol headers in the output (H/F)
-I/--head          Show document info only
-j/--junk-session-cookies Ignore session cookies read from file (H)
    --interface <interface> Specify network interface to use
    --krb4 <level>  Enable krb4 with specified security level (F)
-k/--insecure      Allow curl to connect to SSL sites without certs (H)
-K/--config        Specify which config file to read
-l/--list-only     List only names of an FTP directory (F)
    --limit-rate <rate> Limit transfer speed to this rate
-L/--location      Follow Location: hints (H)
    --location-trusted Follow Location: and send authentication even
                    to other hostnames (H)
-m/--max-time <seconds> Maximum time allowed for the transfer
    --max-redirs <num> Maximum number of redirects allowed (H)
    --max-filesize <bytes> Maximum file size to download (H/F)
-M/--manual        Display the full manual
-n/--netrc         Must read .netrc for user name and password
    --netrc-optional Use either .netrc or URL; overrides -n
    --ntlm          Enable HTTP NTLM authentication (H)
-N/--no-buffer     Disable buffering of the output stream
-o/--output <file> Write output to <file> instead of stdout
-O/--remote-name   Write output to a file named as the remote file
-p/--proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)
    --proxy-anyauth  Let curl pick proxy authentication method (H)
    --proxy-basic   Enable Basic authentication on the proxy (H)
    --proxy-digest  Enable Digest authentication on the proxy (H)
    --proxy-ntlm    Enable NTLM authentication on the proxy (H)
-P/--ftp-port <address> Use PORT with address instead of PASV (F)
-q                 If used as the first parameter disables .curlrc
-Q/--quote <cmd>   Send command(s) to server before file transfer (F)
-r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server
    --random-file <file> File for reading random data from (SSL)
-R/--remote-time   Set the remote file's time on the local output
    --retry <num>   Retry request <num> times if transient problems occur
    --retry-delay <seconds> When retrying, wait this many seconds between each
    --retry-max-time <seconds> Retry only within this period
-s/--silent        Silent mode. Don't output anything
-S/--show-error    Show error. With -s, make curl show errors when they occur
    --socks <host[:port]> Use SOCKS5 proxy on given host + port
    --stderr <file> Where to redirect stderr. - means stdout
-t/--telnet-option <OPT=val> Set telnet option
    --trace <file>  Write a debug trace to the given file
    --trace-ascii <file> Like --trace but without the hex output
-T/--upload-file <file> Transfer <file> to remote site
    --url <URL>     Spet URL to work with
-u/--user <user[:password]> Set server user and password
-U/--proxy-user <user[:password]> Set proxy user and password
-v/--verbose       Make the operation more talkative
-V/--version       Show version number and quit
-w/--write-out [format] What to output after completion
-x/--proxy <host[:port]> Use HTTP proxy on given port
-X/--request <command> Specify request command to use
-y/--speed-time    Time needed to trig speed-limit abort. Defaults to 30
-Y/--speed-limit   Stop transfer if below speed-limit for 'speed-time' secs
-z/--time-cond <time> Transfer based on a time condition
-0/--http1.0       Use HTTP 1.0 (H)
-1/--tlsv1         Use TLSv1 (SSL)
-2/--sslv2         Use SSLv2 (SSL)
-3/--sslv3         Use SSLv3 (SSL)
    --3p-quote      like -Q for the source URL for 3rd party transfer (F)
    --3p-url        source URL to activate 3rd party transfer (F)
    --3p-user       user and password for source 3rd party transfer (F)
-4/--ipv4          Resolve name to IPv4 address
-6/--ipv6          Resolve name to IPv6 address
-#/--progress-bar  Display transfer progress as a progress bar




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2