Ini ialah arahan dacshttp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
dacshttp - melaksanakan permintaan HTTP/HTTPS
SINOPSIS
dacshttp [-get | -pos | -hapuskan | -kepala | -pilihan | -pilihan | -letak] [-ll log_level]
[-segera] [-v] [--versi] [[-ct rentetan] | [--jenis kandungan rentetan]]
[{-kepala nama nilai}...] [-pengepala nama fail] [-seseorang nama fail] [-ih]
[-ejen pengguna rentetan] [{-p nama nilai}...] [-proto nombor versi]
[-proksi proxyhost:proxyport]
[-padanan proksi nama hos[:pelabuhan] proxyhost:proxyport] [-f nama nama fail]
[{-biskut nama fail}...] [-ah] [-ssl baris perintah] [-ssl-bendera bendera] uri
DESCRIPTION
Program ini adalah sebahagian daripada DACS suite. Ia adalah program yang berdiri sendiri yang tidak diterima oleh kedua-duanya
kebiasaan DACS pilihan baris arahan (dacsoptions[1]) mahupun mengakses mana-mana DACS konfigurasi
fail.
Utiliti tujuan umum ini menghantar permintaan HTTP/HTTPS untuk uri ke pelayan web dan
mencetak balasan kepada output standardnya.
dacshttp akan mengikut ubah hala secara automatik mengikut RFC 2616[2] dan sehingga a
maksimum masa kompilasi, melainkan jika -segera bendera diberikan. Sambungan bukan standard ialah a
ubah hala kepada URI bukan mutlak ditafsirkan dengan cara yang serasi dengan kebanyakan penyemak imbas.
Dalam versi 1.4.27b dan lebih awal, arahan ini dipanggil http.
Nota
DACS boleh mengeluarkan permintaan HTTP sendiri, seperti dari dacs_authenticate ke luaran
modul pengesahan. Fungsi HTTP ini disediakan oleh kod sokongan yang sama
bahawa dacshttp penggunaan arahan, dan oleh itu kebanyakan maklumat berikut
terpakai pada permintaan yang dijana secara dalaman ini juga (cth, HTTP_PROG[3], SSL_PROG[4],
SSL_PROG_ARGS[5], SSL_PROG_CA_CRT[6], SSL_PROG_CLIENT_CRT[7], VFS[8]).
PILIHAN
Kaedah HTTP GET digunakan secara lalai, tetapi beberapa bendera secara tersirat memilih yang berbeza
kaedah (cth, -f and -p). Salah satu daripada bendera berikut boleh digunakan untuk menentukan secara eksplisit
Kaedah HTTP, dengan syarat ia serasi dengan pilihan lain:
-get
Gunakan kaedah GET (lalai).
-pos
Gunakan kaedah POST.
-kepala
Gunakan kaedah HEAD.
-letak
Gunakan kaedah PUT.
-hapuskan
Gunakan kaedah DELETE.
-pilihan
Gunakan kaedah OPTIONS.
-pilihan
Gunakan kaedah OPTIONS tetapi abaikan apa-apa yang mengikut komponen kuasa uri
dan sebaliknya gunakan URI permintaan kes khas "*" yang bermaksud permintaan itu terpakai
kepada pelayan itu sendiri dan bukannya kepada sumber tertentu.
Bendera baris arahan ini juga diiktiraf:
-ah
Jika kuki (kelayakan) hendak dihantar (lihat -biskut), gunakan pengepala Kebenaran
dan bukannya pengepala Kuki.
-seseorang nama fail
Baca kandungan mesej daripada nama fail. Diandaikan bahawa mayat telah pun
diformatkan dengan sewajarnya untuk jenis kandungan permintaan.
-biskut nama fail
Dapatkan kuki daripada nama fail, satu setiap baris, untuk dihantar dengan permintaan menggunakan Kuki
kepala. Berbilang kuki dipisahkan menggunakan koma bertindih, yang mengikuti Netscape
spec[9]. Sebagai alternatif, berbilang kuki boleh digabungkan pada satu baris, dipisahkan
dengan sama ada koma bertitik atau koma (berikut RFC 2109[10] atau RFC 2965[11]). ini
hujah boleh diulang.
-ct rentetan
--jenis kandungan rentetan
Tetapkan pengepala permintaan Jenis Kandungan kepada rentetan. Jika permintaan itu mempunyai badan entiti,
Jenis Kandungan lalai ialah aplikasi/x-www-form-urlencoded; jika permintaan tidak
mempunyai badan entiti, secara lalai pengepala permintaan Jenis Kandungan tidak ditetapkan.
-f nama nama fail
Melepasi dan mengekod kandungan nama fail sebagai nilai untuk nama. Secara lalai, yang
Kaedah POST akan digunakan, walaupun PUT dan OPTIONS boleh dipilih. Jika nama fail is
"-", input standard dibaca; borang ini hanya boleh digunakan sekali pada baris arahan.
Hujah ini mungkin diulang.
-kepala nama nilai
Bendera ini, yang mungkin diulang, menyebabkan pengepala HTTP nama: nilai untuk dihantar bersama
permintaan. tidak juga nama tidak nilai disemak dalam apa jua cara.
Nota
Ini tidak akan mengatasi pengepala yang diperlukan atau tersirat oleh bendera baris arahan lain;
sebagai contoh, bendera berikut tidak setara:
-kepala Ejen Pengguna foo
-ejen pengguna foo
Bekas kes akan menghantar pengepala Ejen Pengguna dua kali.
-pengepala nama fail
Baca pengepala mesej tambahan daripada nama fail, satu setiap baris, dan hantarkannya dengan
permintaan (rujuk -kepala bendera). Bendera ini mungkin diulang.
-ih
Sertakan pengepala respons HTTP dalam output. Mereka ditamatkan oleh baris kosong.
Baris status dilabelkan "Barisan Status".
-ll log_level
Tetapkan tahap output penyahpepijatan kepada log_level (Lihat dacs(1)[12]). Tahap lalai ialah
memberi amaran, dan -v bendera menaik tahap untuk nyahpepijat atau jejak.
-p nama nilai
Melepasi dan mengekod nama=nilai sebagai sebahagian daripada badan entiti. Secara lalai, kaedah POST
akan digunakan, walaupun PUT dan OPTIONS boleh dipilih. Hujah ini mungkin diulang.
-segera
Gesa pengguna untuk kebenaran untuk meneruskan selepas acara tertentu, seperti menerima a
ubah hala; jawapan adalah afirmatif hanya jika ia adalah "ya" atau "y". Jika pilihan ini adalah
tidak dinyatakan, tindakan afirmatif akan diambil secara automatik.
-proto nombor versi
Berfungsi mematuhi nombor versi daripada protokol HTTP (cth, 1.0).
-proksi proxyhost:proxyport
Majukan semua permintaan HTTP (kecuali permintaan yang sepadan dengan a -padanan proksi bendera) kepada
pelayan proksi di proxyport (nombor port berangka atau nama perkhidmatan yang diiktiraf) dihidupkan
proxyhost (nama domain atau alamat IP). Proksi tidak disokong sepenuhnya oleh dacshttp,
tetapi ia akan menyambung ke pelayan proksi yang ditentukan dan bukannya pelayan yang tersirat oleh
uri.
-padanan proksi nama hos[:pelabuhan] proxyhost:proxyport
If nama hos sepadan dengan hos yang dinyatakan dalam uri, proksi permintaan HTTP melalui
proxyhost (nama domain atau alamat IP) di proxyport (nombor port berangka atau
nama perkhidmatan yang diiktiraf). Jika pelabuhan tidak diberikan, ia diandaikan sebagai 80 (untuk http
skim) atau 443 (untuk skim https). Padanan dilakukan dengan menyelesaikan nama hos kepada IP
alamat (jika perlu) dan membandingkannya dengan alamat IP berkesan yang dinyatakan
by uri. Bendera ini diberi keutamaan berbanding -proksi bendera, jadi ia boleh digunakan untuk
mengatasi pelayan proksi lalai.
Nota
Pilihan ini tidak dilaksanakan. Bendera SSL digunakan untuk semua sambungan; ini adalah
mungkin pepijat.
-ssl baris perintah
Bendera ini menunjukkan bahawa HTTPS (iaitu, HTTP melalui sambungan SSL) akan digunakan,
tanpa mengira skim yang ditentukan oleh uri. kerana dacshttp tidak termasuk secara langsung
Fungsi SSL, ia menggunakan paip untuk berkomunikasi dengan program luaran yang menyediakan
sambungan SSL. The sslcient(1)Perintah [13] amat disyorkan untuk ini
tujuan (versi 3.26 daripada stunnel(1) and tongkat3, yang disertakan dengan beberapa keluaran
stunnel-4.x, mungkin juga berfungsi).
. baris perintah ialah baris arahan shell lengkap yang akan digunakan untuk menjalankan program
sebagai penapis. Sebagai contoh, hujah ini mungkin kelihatan seperti salah satu daripada:
-ssl "/usr/local/dacs/bin/sslclient example.com:443"
-ssl "/usr/local/bin/stunnel -c -r example.com:443"
Jika -ssl hujah tiada tetapi uri hujah menggunakan skema https, dacshttp
masih akan cuba menggunakan SSL. Ia akan cuba menggunakan sslcient(1)[13] dan anggap ia ada dalam
lokasi lalainya. Sekiranya -ssl hujah hadir tetapi menyatakan hanya satu rentetan,
rentetan itu diandaikan sebagai laluan ke sslcient(1)[13]. Contoh pertama di bawah
akan lari sslcient(1)[13] daripada /tmp/sslclient untuk menyambung ke port 443 di example.com;
contoh kedua mempunyai kesan yang sama tetapi akan berjalan sslcient(1)[13] daripada lalainya
lokasi:
% dacshttp -ssl "/tmp/sslclient" https://example.com
% dacshttp https://example.com
-ssl-bendera bendera
Jika operasi SSL didayakan tetapi -ssl bendera tiada atau tidak hanya menyatakan a
nama laluan, tambah bendera kepada senarai hujah yang akan dihantar ke SSL luaran
pembekal; apabila -ssl bendera menentukan lebih daripada satu hujah, bendera ini diabaikan.
. bendera rentetan ialah senarai hujah yang dipisahkan oleh ruang. Bendera ini mungkin diulang.
Sebagai contoh, dalam contoh ini dacshttp akan menyeru sslcient dengan dua hujah -sm
and bobo.example.com:
% dacshttp -ssl-flags "-sm bobo.example.com" https://example.com
Jika sijil pelayan kad bebas digunakan, ia mungkin perlu untuk memadankan semua secara eksplisit
hos dalam domain tertentu:
% dacshttp -ssl-flags "-sm .*\.example\.com" https://example.com
penting
Apabila dipanggil oleh dacshttp, mesej ralat yang dihasilkan oleh sslcient mungkin hilang. Jika awak
menghadapi masalah dengan pengendalian SSL, bekerja dengan sslcient(1)[13] untuk memastikan bahawa
sambungan SSL boleh diwujudkan, atau untuk menentukan dan menyelesaikan masalah. Jika
anda mendapati bahawa sslcient memerlukan bendera baris arahan untuk operasi yang betul, anda
perlu memastikan itu dacshttp menyerahkan bendera itu kepadanya.
-ejen pengguna rentetan
Tetapkan pengepala permintaan Ejen Pengguna kepada rentetan. Jika tidak disediakan, rentetan ini akan mempunyai
awalan "DACS-http/", diikuti dengan a DACS pengecam keluaran (contoh:
"DACS-http/1.4.1").
-v
Tingkatkan tahap output penyahpepijatan. Ini akan menyebabkan pengepala respons menjadi
dipaparkan, contohnya. Bendera mungkin diulang.
--versi
Cetak maklumat versi ke stderr, kemudian keluar serta-merta.
. uri argumen ialah URL untuk digunakan. Ia mungkin termasuk akhiran rentetan pertanyaan (walaupun HTTP
POST dipilih).
Sama ada dipilih secara tersirat atau eksplisit, baris arahan mesti menyatakan dengan tepat satu daripadanya
kaedah HTTP.
Permintaan tajuk yang ditentukan menggunakan -kepala or -pengepala bendera dihantar mengikut urutan masuk
yang mana bendera muncul pada baris arahan. Jika mereka dibaca dari fail, ada pesanan
dikekalkan.
CONTOH
Yang berikut akan mendapatkan semula RFC 2616[2] dan simpan dalam rfc2616.txt:
% dacshttp "http://www.rfc-editor.org/rfc/rfc2616.txt" > rfc2616.txt
Ini akan melakukan GET pada URL yang diberikan, menghantar rentetan pertanyaan foo=baz, dan menulis
keputusan untuk stdout:
% dacshttp "https://example.com/cgi-bin/dacs/dacs_prenv?foo=baz"
Ini akan melakukan POST pada URL yang diberikan, menghantar dua argumen:
% dacshttp -p foo baz -p bar zork https://example.com/cgi-bin/dacs/dacs_prenv
Ini akan membuat permintaan kaedah HTTP GET melalui SSL ke URL yang diberikan:
% dacshttp -ssl "/usr/local/dacs/bin/sslclient example.com:443" \
https://example.com/cgi-bin/dacs/dacs_prenv
DIAGNOSTIK
Program keluar 0 jika semuanya baik-baik saja, 1 jika ralat berlaku.
Gunakan dacshttp dalam talian menggunakan perkhidmatan onworks.net