SqueakまたはPharoからHTTPSリクエストを行うにはどうすればよいですか?HTTPClient
と友達はSSLの機能が不足しているようです。
6 に答える
SqueakSSLは、次のようにWebClientから簡単に使用できます。
WebClient httpGet:' https ://www.google.com/search?q=squeak '。
証明書に問題がある可能性があります。その場合、エラーをキャッチして無視する必要があります(ここを参照)。
また、Zinc httpフレームワークにも注目してください。これは、まもなくPharoの新しいデフォルトになります。まだsslがないようですが、急速に開発されています。
上記のZodiacを使用すると、Zinc から HTTPS リクエストを作成できます。
次のように有効にします ( Pharo フォーラムのレシピ):
最初にSqueakSSLプラグインをダウンロードしてPharoディレクトリに配置し、必要なパッケージをロードします。
「Zinc HTTP コンポーネントのロード」 それをゴーファー squeaksource: 'ZincHTTPComponents'; パッケージ: 'Zinc-HTTP'; パッケージ: '亜鉛テスト'; パッケージ: 'Zinc-Patch-HTTPSocket'; ロード。 「エクストラを含むロード ゾディアック」 それをゴーファー squeaksource: 'ゾディアック'; パッケージ:「ゾディアックコア」; パッケージ: 'ゾディアック テスト'; ロード。 「Zodiac の余分な Zinc サポートをロードする」 それをゴーファー squeaksource: 'ZincHTTPComponents'; パッケージ: 'Zinc-Zodiac'; ロード。 「Zn Zodiac ソケットファクトリーに切り替え」 ZnNetworkingUtils デフォルト: ZnZodiacNetworkingUtils 新規。
そして、HTTPS リソースに対してリクエストを行うことができるはずです。
メーリングリストで少し議論がありました。要するに:
SqueakSSL は仕事をすることになっていますが、修正が必要な場合があります。Sean Denigris が指摘したように、WebClient を介して呼び出すことができます。
WebClient httpGet: 'https://www.google.com/search?q=squeak'.
そして、メーリングリストから:
stunnel を使用することもできます。
なんで?
CPU を集中的に使用する暗号化/復号化タスクをネイティブ ライブラリに完全にアウトソーシングし、そのストレスから VM を解放します。
一方で、この取り組みで始まったゾディアックにも注目したい。
本番環境では、Lighttpd (または Apache) を使用して http から https に変換します。
最近の Pharo イメージでは、Zinc と Zodiac が統合されているため、サポートが大幅に改善されています。評価するだけ
ZnEasy get: 'https://www.google.com'
例えば。
詳細なドキュメントは次の場所にあります。
http://www.pharo-project.org/news?dialog=documentation-for-zinc-http
HTTPS クライアント、セキュア POP クライアント、セキュア SMTP クライアントの読み取りの場合