XMLHTTP を使用してシーフを作成する具体的な詳細は、多くの人が投稿して議論していますが、ASP シーフを作成する過程で、ASP シーフが PHP シーフほど強力ではないことがわかりました。実際、元の Web サイトでフォームの送信や Cookie の検証がある場合、ASP が SOCKET ベースのコンポーネントを使用せずにそれを完了するのは困難です。実際、XMLHTTP の他の 2 つのメソッドは無視されています。問題の鍵。
まずはこの方法についてお話しましょう
1. 。送信()
一般的な窃盗犯は POST ではなく GET を使用してデータを送信するため、SEND (コンテンツ) を使用してデータを送信することも非常に簡単です。
送信するフォームが中国語の場合、エンコードの問題が発生するため、フォームの送信はそれほど単純ではありません。
まず、OPEN 時に POST を使用すること、つまり .open(POST, アドレス、非同期かどうか) を使用する必要があります。
次に、SEND にフォームの内容を追加します。たとえば、送信したいフォームには A、B、C という 3 つのフォーム フィールドがあり、対応する値はそれぞれ 1、2、3 です。 SEND するとき .send(A=1&B=2&C=3) のように書くとフォームを送信できます。どうですか、とても簡単です。期待していませんでしたか?ただし、あまり早く喜びすぎないでください。前述したように、フォームの値が中国語の場合、データ送信でエラーが発生します。ここでは、escape() 関数を使用します。JAVASCRIPT に詳しい人は、この関数の役割を知っているはずです。現在、VBSCRIPT もこの関数をサポートしています。 .send(A=escape('value1')&B=escape('value2')&C=escape('value3')) 。
2. .setRequestHeader()
上記に従って、データは送信されますが、相手はそれを受信しません。実際には、HTTP ヘッダーに何かが欠けているためです。具体的には、この関数を使用してそれを追加できます。 setRequestHeader(CONTENT-TYPE,application/x-www-form-urlencoded) は、URL コード化されたフォームを送信したことを相手に伝えます。
さて、フォームの送信について説明したので、Cookie を送信する方法について話しましょう。
実際、Cookie の送信も非常に簡単です。たとえば、現在私が使用している Cookie を HTTP ヘッダーに追加することもできます。
cdb_sid=ybBiK0; cdb_cookietime=315360008D; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg;
この Cookie を直接送信したいと思います。setRequestHeader(Cookie,cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145)
もちろん、Web サイトのページによっては、ページ判定機能が備わっています。これは、setRequestHeader (Referer、ソースの絶対アドレス) です。