タイトル : Re^2: リクエスト取得出来ました。 投稿日 : 2015/04/19(Sun) 10:00 投稿者 : IMA
魔界の仮面弁士様 お世話になります。なんとかデータの取得ができるようになりました。 以下はFiddler2でrowデータ取得したものです PHPの場合 POST https://mt-auto-minhon-mlt.ucri.jgn-x.jp/api/mt/patent_en_ja/ HTTP/1.1 User-Agent: anyMeta/OAuth 1.0 - ($LastChangedRevision: 174 $) Host: mt-auto-minhon-mlt.ucri.jgn-x.jp Accept: */* Authorization: OAuth realm="", oauth_signature_method="HMAC-SHA1", oauth_signature="WYhnJ6FscaFuQhpdxBHgidkKxMs%3D", oauth_nonce="5532f63f3605b", oauth_timestamp="1429403199", oauth_token="", oauth_consumer_key="de530109a8946afc5f0daa28be6b656c0550XXXXX", oauth_version="1.0" Content-Type: application/x-www-form-urlencoded Content-Length: 101 key=de530109a8946afc5f0daa28be6b656c0550935a0&name=hogehoge&text=test&type=xml&data=Logging%20Data ExcelVBAの場合 POST https://mt-auto-minhon-mlt.ucri.jgn-x.jp/api/mt/patent_en_ja/ HTTP/1.1 Accept: */* User-Agent: anyMeta/OAuth 1.0 - ($LastChangedRevision: 174 $) Authorization: OAuth realm="", oauth_signature_method="HMAC-SHA1", oauth_signature="UTuiF0hevhxakAJ4gMS1cGzf8wY%3D", oauth_nonce="4288309833", oauth_timestamp="1429436611", oauth_token="", oauth_consumer_key="de530109a8946afc5f0daa28be6b656c0550XXXXX", oauth_version="1.0" Content-Type: application/x-www-form-urlencoded Accept-Language: ja Accept-Encoding: gzip, deflate Host: mt-auto-minhon-mlt.ucri.jgn-x.jp Content-Length: 101 Connection: Keep-Alive Cache-Control: no-cache Cookie: PHPSESSID=m2iqsir3d9ugcrl8rsj9lfqn01 key=de530109a8946afc5f0daa28be6b656c0550XXXXX&name=hogehoge&text=test&type=xml&data=Logging%20Data Excelからだとエラーコード510(OAuth認証エラー)が返ります。 なお、Excelではoauth_nonceはoauth_timestamp*3とし、 oauth_signatureは概略以下の方法で作成しています。 strBase = httpMethod & "&" & UrlEncode(URL) & "&" & UrlEncode(SortedParams(param)) cryptKey = consumer_secret & "&" param("oauth_signature") = UrlEncode(Base64_HMACSHA1(cryptKey, strBase)) Private Function Base64_HMACSHA1(ByVal sTextToHash As String, ByVal sSharedSecretKey As String) Dim asc As Object, enc As Object Dim TextToHash() As Byte Dim SharedSecretKey() As Byte Dim bytes() As Byte Set asc = CreateObject("System.Text.UTF8Encoding") Set enc = CreateObject("System.Security.Cryptography.HMACSHA1") TextToHash = asc.Getbytes_4(sTextToHash) SharedSecretKey = asc.Getbytes_4(sSharedSecretKey) enc.key = SharedSecretKey bytes = enc.ComputeHash_2((TextToHash)) Base64_HMACSHA1 = EncodeBase64(bytes) Set asc = Nothing Set enc = Nothing End Function なにかアドバイスを頂ければ幸いです。 > > これをVBAで動かそうとしているのですが、523:リクエストnameエラーなどでどん詰まり状態です。 > > Fiddler2 なり Microsoft Network Monitor なりを併用して、 > PHP の場合と VBA の場合とで、リクエストの内容が > どのように違っているのかを調べてみてださい。 |