2017-03-08 8 views
1

ユーザーIDとpwdを使用してMoney.net APIへの安全な接続を作成しようとしていますが、サーバーから応答が返ってきません。私もTLSソケットを試してみました、私は開発のためのIpythonノートブックを使用していると私はプログラミングの世界に新しいですとPython :)プレーンテキスト認証:Python

import socket 
import sys 
Server_address = ('api.data.money.net',50010) 
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
print sys.stderr, 'connecting to %s port %s' %Server_address 
s.connect(Server_address) 
####### I pass plain text authentication credentials below ##### 
username, password, DATA 

何も起こらないと

を期待通りにサーバが「OK」で戻って応答しません以下.wrap方法が、それは私が応答

'username','password' 
を取得

import socket 
import ssl 

# SET VARIABLES 
#packet, reply = "QS MSFT", "" 
HOST, PORT = 'api.data.money.net', 50010 

# CREATE SOCKET 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.settimeout(30) 

# WRAP SOCKET 
wrappedSocket = ssl.wrap_socket(sock,keyfile=None,server_side=0, 
          ssl_version=ssl.PROTOCOL_TLSv1,         cert_reqs=ssl.CERT_NONE,do_handshake_on_connect=True) 


# CONNECT AND PRINT REPLY 
wrappedSocket.connect((HOST, PORT)) 


#Plain Text authentication 
'username','password' 

を "接続がタイムアウト" と言います3210

それから私は、私は私ではなくソケットよりもHTTPSを使用してインターネット上で公開するためのAPIを期待するエンド

SSLError: ('The read operation timed out',) 
+0

このAPIのドキュメントへのリンクを提供できますか?また、ここでは「安全な」接続を作成するためのコードはありません。 –

+0

こんにちはジェームズ - リンクは次のとおりです:https://www.money.net/datafeed – user2560244

+0

@ Jean-Paulのように、ドキュメントは "TLSを使用して接続する必要があります。私たちのサーバーはTLS証明書を提示します* .data.money.net ...のために "。あなたはpython [ssl module](https://docs.python.org/2.7/library/ssl.html) –

答えて

1

に次のエラーを取得する次

packet,reply="QS MSFT","" 
wrappedSocket.send(packet) 
print wrappedSocket.recv(1280) 

を実行します。そんなに行く必要がありますか?

基本認証で安全な呼び出しを行うパッケージがたくさんあります。 リクエストパッケージは、より高いレベルであり、多くのプロジェクトで使用されていますので、最も安全な方法です。

これらのライブラリの初期のバージョンでは、本当に安全でなければならない場合は、単に証明書の検証を無視することに注意してください。

Python, HTTPS GET with basic authenticationで回答を見てください。

+0

www.money.net/datafeed文書に従って "注:ネットワーク上でプロキシサーバーを使用している場合は、スタンドアロンのSOCKSプロキシまたはSOCKSプロキシとWebプロキシの組み合わせが必要です。私たちのマーケットデータ接続がHTTPプロトコルと互換性のない独自のTCPプロトコルを使用するため、HTTPとHTTPSトラフィックは処理されません」しかし、上記のように、私はソケットラップを使用してTLS接続を試みましたが、 – user2560244