2011-07-24 14 views
-2

私はC#クローラ/ポスタープロジェクトに取り組んでおり、WebClientを使用してWordPressのブログやサイトをクロールしてコンテンツをダウンロードしています。C#でvC++ Dllを使用する

Wordpressのサイトでは、何らかの理由でWebClientのバグを知っていますか、わからないのですが、ワードプレスのブログからすべてのクッキーを受け入れないため、自動ボットやスパマーを止める対策になるかもしれません。

ソケットを使用することに決めましたが、ソケットにもいくつかの問題があるようですが、完全な応答が返されないため信頼できませんが、VC++でうまく動作するコードが見つかりました。しかし、私はまったくvC++を知らない。ここで

は、私は上記のコードのDLLを作成するにはどうすればよいcode

のですか?

私はvC++を使用して単純なdllプロジェクトを作成しましたが、上記のコードをプロジェクトに含めることはできません。 Code

+0

あなたのコードへのリンクは私に私のクレジットカードを求めるサイトに連れて行きます。たぶん、DropboxやMicrosoft Skydriveを使って簡単に共有することができます。 – selbie

+0

右側にスクロールダウンして「スローダウンロード」と言うと、無料でダウンロードされます。 –

+0

トラブルのため申し訳ありません、1分私はSkydriveのリンクを入れています、もう一度申し訳ありません –

答えて

0

更新されたリンクは、C++のコードを使用して、クラスライブラリを作成し、C#プロジェクトへの参照として追加します。

+0

は、コンパイルエラーを出そうとしましたが、コードを試すことができます。 –

+0

私はすでに言ったように、vC++について多くのことを知っていません。どうすればidをコードを使うべきか教えてください。オリジナルのリンクはhttp://www.codeproject.com/KB/IP/asynchttpです。 aspx –

+0

@downvoter:downvoteの理由を残してください。 – CharithJ

0

プラットフォームの呼び出しを使用して、必要な各関数の宣言を作成できます。ここでMessageBox WinAPIの関数をインポートする例を示します(これは.NETでのMessageBoxクラスと同じではないことに注意!)

[DllImport("user32.dll", CharSet = CharSet.Unicode)] 
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type); 
0

を今私はあなたのコードをダウンロードしていることを、私はこれを言うことができます...

このコードをコンパイルしても、C++とC#との間の通常の重複を解消する必要があります。そしてコードはそれのために準備されていません。 http_download.hファイルは、インラインクラスの大きなセットです。そして、C#からC++コードを呼び出し可能にするための指示は、ここにリストアップするのが長いです。基本的には、このコードをDLLとしてコンパイルする必要があります。 DLLから、C++を呼び出す一連の "C"関数をエクスポートして、必要な処理を行います。または、これらのC++クラスをタイプライブラリを持つCOMオブジェクトに変換します。

しかし、あなたが本当にやろうとしているかを分析してみましょう:

あなたがWebページをクロールしたいのですが、Webクライアントが動作しません。

だから私はあなたが聞きたい本当の問題だと思う:

はなぜワードプレスは、Webクライアントと私のクッキーを許可していませんか?

WebClientコードを共有していないか、問題の可能性があると思われるものを作成していないため、本当に答えがわかりません。しかし、私はそれが簡単に解決される問題だと思う。

WebClientは、あまりにもきれいに見えない1つの.hファイルとしてハッキングされたC++コードよりも10倍使いやすくなることが確かです。純粋なソケット(これはWebClientと同じですが、必要なすべての機能をサポートしていますが、まだ実現していません)を使用してHTTPライブラリーをまとめようとするより100倍も簡単です。

申し訳ありません。私はあなたがこれを難しい方法よりも良い方法について考えてほしいと勧めています。

関連する問題