tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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 の場合とで、リクエストの内容が
> どのように違っているのかを調べてみてださい。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。