1

Web サイトで API を使用しようとしています。マニュアルの一部は次のとおりです。

認証されたセッション(ここから取得)

認証済みセッションを作成するには、「/auth」API リソースから authToken をリクエストする必要があります。

  • URL: http://stage.amee.com/auth (これは私のドメインではありません)
  • 方法: ポスト
  • リクエスト形式: application/x-www-form-urlencoded
  • 応答形式: application/xml、application/json
  • 応答コード: 200 OK
  • レスポンス ボディ: API バージョンを含む、認証されたユーザーの詳細。
  • 追加データ: 「authToken」Cookie とヘッダー。以降の呼び出しで使用する認証トークンが含まれます。

    パラメータ: ユーザー名/パスワード

リクエスト

POST /auth HTTP/1.1
Accept: application/xml
Content-Type: application/x-www-form-urlencoded

username=my_username&password=my_password

応答

HTTP/1.1 200 OK Set-Cookie: authToken=1KVARbypAjxLGViZ0Cg+UskZEHmqVkhx/Pm...;
authToken: 1KVARbypAjxLGViZ0Cg+UskZEHmqVkhx/PmEvzkPGp...== コンテントタイプ
: アプリケーション/xml; 文字セット=UTF-8

質問:

どうすればそれを機能させることができますか?

jQueryを試してみましたが、XSSに問題があるようです。実際のコード スニペットをいただければ幸いです。

ps

私が探していたのは、C# のWebClientクラスだけでした

4

2 に答える 2

2

上記と同じ認証トークンCookieをstage.amee.com/authから抽出するためにrailsを使用しています。authtokenをCookieとして使用して、200 OKを返す正しいリクエストオブジェクトを作成してカスタマイズする前に、少し実験が必要でした。リクエストオブジェクトを読み取る効果的な方法が見つからないか、正確にどのように表示されるかを投稿します。これがアプリのコントローラーからの私のルビーコードです

#define parameters
uri=URI.parse('http://stage.amee.com')
@path = '/auth'
@login_details = 'username=your_username&password=your_password'
@headers = {'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'}

#create request object
req = Net::HTTP.new(uri.host, uri.port)

#send the request using post, defining the path, body and headers
resp, data = req.post(@path, @login_details, @headers)

#print response details to console
puts "response code = " << resp.code
puts "response inspect = " << resp.inspect
resp.each do |key, val| 
  puts "response header key : " + key + " = " + val 
end 
puts "data: " + data
于 2010-06-25T15:00:59.423 に答える
2

application/jsonAcceptヘッダーに入れる必要があります。これにより、xml ではなく、その形式で応答するようにサーバーに指示されます。

于 2009-06-24T21:56:56.897 に答える