2017-09-26 15 views
0

SSLを使ってpandasデータフレームにHTTPSの場所からXMLファイルを読み取ろうとしています。私はいくつかのサンプルコードを見つけましたが、動作させることができません。私はそれをどうやってやりますか?SSLを使ってHTTPSからpandasデータフレームにファイルを読み取る

import requests 
urllink='https://www.oasis.oati.com/woa/docs/MISO/MISODocs/CurrentData/2308_Planned_Outages_2017-09-19-18-50-00.xml' 

cCert = r'C:/Temp/MISOcert.pfx' 
requests.get(urllink, cert=cCert) 

XMLファイルをローカルに配置すると、XMLファイルをdataframeに読み込むことができます。これを行うには、xml.etree.ElementTreeを使用します。

しかし、私は証明書でURLに直接pingを実行し、XMLをデータフレームに読み込みたいと思っています。

+0

クライアント側を確認しますか? cert argはクライアント側であり、文字列 '(cert、key)'のタプルをとり、サーバー側でverifyを使用し、単一の文字列です。 – T4rk1n

答えて

0

私はverify.get呼び出しに対してverify = Falseを使用することをお勧めしませんが、以下の方法が私のために働きました。それは、データをプルし、XML文書を構築します。そこから、必要に応じてデータフレームにロードすることができます。

import requests 
import xml.etree.ElementTree as ET 


def get_data(url): 
    response = requests.get(urllink, verify=False) 
    return ET.fromstring(response.text) 

if __name__ == '__main__': 
    url = 'https://www.oasis.oati.com/woa/docs/MISO/MISODocs/CurrentData/2308_Planned_Outages_2017-09-19-18-50-00.xml' 
    xml_document = get_data(url) 
+0

これは素晴らしい作品です。あなたはverify = falseを使うことを勧めません。あなたは真実をどうやって進めることを提案しますか?また、素朴な質問:__name__ == '__main__':これは何をするのですか? –

関連する問題