問題タブ [idhttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - IdHTTP.getがHTTP1.1/403を返す
DelphiXEコンパイル済みプログラムとIdHTTPコンポーネントを使用して、自分のWebサイトのupdate.txtファイルにアクセスしようとしています。
私が使用しているコードは次のとおりです。
ただし、これによりエラーが発生します:HTTP1.1 / 403Forbidden
IdHTTPコンポーネントは、次のプロパティで設定されています。
IEブラウザにURLを入力すると、エラーなしでファイルが返されますが、プログラムからアクセスするとエラーが発生します。任意のポインタをいただければ幸いです。.htaccessはサイトに適しています。ファイルのアクセス許可は、Webサイト0644で正しいです。
IdHTTPコンポーネントの他のプロパティを設定する必要がありますか?このコンポーネントはaboutフォームにのみあります。他に何か必要ですか。
updateinfo.txtファイルには、「18.3.5,2011/12/17」というテキストが引用符で囲まれているだけです。
ここでは、実際のプログラム名とURLの代わりに「テスト」を使用しました。
よろしくエイドリアン
delphi - Delphi: URL 転送でファイルをダウンロードする
私は、別のサイトへのURL 転送 (クローキング)を備えた無料のドメイン名を持っています。
ブラウザの Web アドレスにhttp://my.com/1.zipと入力すると、 http://his.com/1.zipに移動してファイルがダウンロードされます。
Indy TIdHTTP (Delphi XE2) で同じことを行うにはどうすればよいですか。ブラウザと私は、最初は 404 エラーを受け取りますが、その後、どうにかして私以外のファイルをダウンロードします。
最初のリンクを使用する必要がありますが、実際には別のサイトからダウンロードします。たとえば、最初のサイトには xxx.zip ファイルがあります。http://my.com/xxx.zipにアクセスしたいのですが、実際にはhttp://his.com/xxx.zip (ファイルの保存場所)からダウンロードします。
ありがとう!
編集:
HandleRedirects
trueに設定し、a を割り当てました (この質問Indy - IdHttp how to handle page redirects?CookieManager
は既に見ました)。
このhttp://liga-updates.ua.tc/GDI+.zipを Delphiにダウンロードしてみてください
delphi - TIdHTTP: リクエストを送信する前に有効な Cookie を確認しますか?
TIdHTTP
と一緒にIndyを使っていTIdCookieManager
ます。送信しようとしているリクエストの現在の Cookie を確認し、それが有効である可能性を特定したいと思います (サーバーが私のリクエストを受け入れるかどうかを 100% 確信できないことはわかっています)。Cookie がない場合、または有効期限が切れている場合は、まずログインして新しい Cookie を取得します。それ以外の場合は、リクエストを送信してください。
そのようなチェックを行うにはどうすればよいですか?リクエストを送信する前に Cookie マネージャーを確認する必要があると思いますが、何を確認すればよいかわかりません。
delphi - リストボックスからプロキシを選択します(IDHTTP)
アプリケーションを準備しています。IDHTTP:Getメソッドを使用します。しかし、いくつかの問題があります。プロキシのリストを作成し、リストボックスの項目(プロキシアドレス)をクリックしたいIDHTTPを追加しました。申し訳ありませんが、私は英語をほとんど知りません。
私のコード;
が欲しいです;
Listbox1プロキシを追加します。後で..Listbox1アイテムをクリックします。後で..BitBtn2クリック。
ありがとう。
delphi - Delphi: IdHTTP で Google URL Shortener を使用する - 400 Bad Request
Delphi 内から API を介してURL Shortener ( http://goo.gl/ )にアクセスしようとしています。ただし、得られる唯一の結果は次のとおりです。HTTP/1.0 400 Bad Request (reason: parseError)
これが私のコードです( IdSSLIOHandlerSocketOpenSSL1 をIOHandlerとして持つButton1、Memo1、およびIdHTTP1を持つフォーム上にあります。 http://indy.fulgan.com/SSL/から必要な 32 ビット OpenSSL DLL を取得し、. exe のディレクトリ):
更新:この例では API キーを省略しました (通常、数回試行するだけでうまく動作するはずです)。ただし、独自のキーで試してみたい場合は、actionurl文字列を
'https://www.googleapis.com/urlshortener/v1/url?key=<yourapikey>';
ParseError メッセージを見ると、ロング URL が投稿されたときにエンコーディングに何か問題があるのではないかと思われますが、何を変更すればよいかわかりません。
私はこれについてかなり長い間混乱してきましたが、間違いは私の目の前にあると確信しています - 私は今それを見ていないだけです. したがって、どんな助けも大歓迎です!
ありがとう!
delphi - IdHTTP.Get 実行停止
私は.dllファイルを開発しています(より具体的にはBrowser Helper Object - BHO)。そして、1 つの TXT ファイルでホストされているいくつかの設定を受け取る必要があります。この TXT ファイルを読み取るために IdHTTP を使用していますが、TXT アドレスに .get するとすべてが停止します。以下にコードを貼り付けます。
ご覧のとおり、 TXTsという TStringList を使用しているため、この手順の最初に、TXT を正常に取得したかどうかを確認する関数があります。そこで、この TStringList に 3 つの TXT アドレスを追加し、有効なアドレスが見つかるまで接続を試みます。しかし、関数の最初の行 ( Body.Text:= HTTP.Get(URLTxt); ) では、有効な TXT アドレスを使用しても停止するだけです...何が起こっているのか手がかりを持っている人はいますか?
私は何が起こっているのかを理解しました。しかし、理由がわからない...私が設定したとき:
.Get メソッドが機能しません... 誰かが私にこれを明確にすることができれば、私は非常に感謝しています。
delphi - TIdHTTPServerは、DLLに配置されると、Free()でハングします
TIdHTTPServer
いくつかの理由で、のインスタンスをDLLに入れる必要があります。これは次のように行われます。
インターフェースユニット:
サーバーのコンテナ:
DLLはGetInstance()
関数をエクスポートします:
メインのEXEファイルを終了するまで、サーバーが読み込まれ、正常に動作します。デバッガーは、メインスレッドがでハングすることを示していますFHTTP.Free();
。
EXEプロジェクトとDLLプロジェクトの両方で「ランタイムパッケージを使用してビルド」オプションを使用しているため、スレッドの同期について心配する必要はないと思いました。
このハングを修正するにはどうすればよいですか?
delphi - IdHTTP基本認証アクセス違反
IndyHTTPクラスを使用してHTTP認証を実行しようとしています。しかし、いくつかの不明な理由により、次の行でアクセス違反エラーが発生しています 。IdHTTP1.Request.Authentication.Username:= Username;
コードストレッチは次のとおりです。
私はDelphi2010を使用しており、すでに次のようなことを試みています 。IdHTTP1.Request.Authentication.Username:='admin'; しかし、問題を解決しませんでした...
delphi - IdHTTP.Getは答えを待たない
Idhttp.Getメソッドに問題があります。デフォルトではブロッキングモード(回答が次の行に移動するのを待つ)で動作していると思いましたが、回答が別の行に移動するのを待っていないことがわかりました。スレッドで使っていますが、問題ないと思います。コードは次のとおりです。
したがって、「Get」メソッドの後、「Get」が完了するのを待たずに実行を続行するため、正しいHttpCode値を取得していないことに気付きました。どうすればこの問題を解決できますか?
delphi - 切断時のIdHTTPアクセス違反
インディ10:
2つのスレッド、スレッド1はTIdHTTPでGetを呼び出し、データの読み取りをブロックしています。スレッド2は、Getを中断するために、同じTIdHTTPでdisconnectを呼び出します。
TIdHTTPでダイジェスト認証を使用していますが、ときどきAVを取得します。
スレッド1のコールスタック:
スレッド2のコールスタック:
基本的に、DoRequestの最後に、切断されます。Request.Authenticationを解放しようとしている切断に競合状態があるようです。
Indy 10の最新のコードをダウンロードし、コードを見ると、動作は同じであるはずです。
別のスレッドからdisconnectを呼び出すことが推奨される使用パターンだと思いますが、間違っていますか?これはインディのバグですか?切断をロックする必要があるようですが、どのようなデッドロックが発生するかを確認するのは困難です。他の誰かがこれに遭遇しましたか?