2017-03-24 11 views
0

APIが動作しているかどうかをテストしようとしています。curlを使用してAPIを作成するPOST(デバッグヘルプ)

* Hostname was NOT found in DNS cache 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 

    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0* Trying 104.197.98.45... 
* Connected to blocmetrics-mftaff.c9users.io (104.197.98.45) port 8080 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs 
* SSLv3, TLS handshake, Client hello (1): 
} [data not shown] 
* SSLv3, TLS handshake, Server hello (2): 
{ [data not shown] 
* SSLv3, TLS handshake, CERT (11): 
{ [data not shown] 
* SSLv3, TLS handshake, Server key exchange (12): 
{ [data not shown] 
* SSLv3, TLS handshake, Server finished (14): 
{ [data not shown] 
* SSLv3, TLS handshake, Client key exchange (16): 
} [data not shown] 
* SSLv3, TLS change cipher, Client hello (1): 
} [data not shown] 
* SSLv3, TLS handshake, Finished (20): 
} [data not shown] 
* SSLv3, TLS change cipher, Client hello (1): 
{ [data not shown] 
* SSLv3, TLS handshake, Finished (20): 
{ [data not shown] 
* SSL connection using ECDHE-RSA-AES256-SHA384 
* Server certificate: 
* subject: OU=Domain Control Validated; OU=EssentialSSL Wildcard; CN=*.c9users.io 
* start date: 2016-10-17 00:00:00 GMT 
* expire date: 2017-11-01 23:59:59 GMT 
* subjectAltName: blocmetrics-mftaff.c9users.io matched 
* issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO RSA Domain Validation Secure Server CA 
* SSL certificate verify ok. 
> POST /api/events HTTP/1.1 
> User-Agent: curl/7.35.0 
> Host: blocmetrics-mftaff.c9users.io:8080 
> Accept: application/json 
> Origin: https://interstellar-wiki-mftaff.c9users.io 
> Content-Type: application/json 
> Content-Length: 17 
> 
} [data not shown] 
* upload completely sent off: 17 out of 17 bytes 
< HTTP/1.1 401 Unauthorized 
< x-xss-protection: 1; mode=block 
< x-content-type-options: nosniff 
< content-type: application/json; charset=utf-8 
< cache-control: no-cache 
< x-request-id: d62f648d-a901-4029-be1b-08aa65cc4b92 
< x-runtime: 0.008397 
* Server WEBrick/1.3.1 (Ruby/2.3.0/2015-12-25) is not blacklisted 
< server: WEBrick/1.3.1 (Ruby/2.3.0/2015-12-25) 
< date: Fri, 24 Mar 2017 08:18:39 GMT 
< content-length: 61 
< X-BACKEND: apps-proxy 
< 

21 78 0  0 100 17  0  12 0:00:01 0:00:01 --:--:-- 12{ [data not shown] 

100 78 100 61 100 17  42  11 0:00:01 0:00:01 --:--:-- 42 
* Connection #0 to host blocmetrics-mftaff.c9users.io left intact 
{"error":"You need to sign in or sign up before continuing."} 

私はすべてに非常に新しいです:私は、コンソールに次の出力を受け付けており、これを実行すると、しかし

mftaff:~/workspace (api-controller) $ curl -v -H "Accept: application/json" -H "Origin: https://interstellar-wiki-mftaff.c9users.io" -H "Content-Type: application/json" -X POST -d '{"name":"foobar"}' https://blocmetrics-mftaff.c9users.io:8080/api/events |& tee -a output.txt

:これを行うには、私は次のコード行を実行していますこれは...どこに何が起こっているのかを特定するという点で、この出力の頭や尾をどうやって作るのか分かりません。

私が今まで知っていること 新しいイベント(このAPI POSTの目標)が作成されていないため、何らかのエラーが発生しています。 私はホストのウェブサイトとオリジンのウェブサイトにサインインしているため、サインインのエラーの最後の行が混乱します。

エラーの発生場所を特定するのに役立ちます。

(読者は、彼はより多くの情報を必要と感じている場合は、コメントを残して、私は喜んでそれを供給しますしてください!)

+0

ブラウザでログインすると、ブラウザにCookieが保存されます。カールは完全に分離されており、リクエストで送信される何らかの種類の認証トークンが必要になります。 –

+0

'HTTP/1.1 401 Unauthorized'は、HTTP認可が不足していることを意味します。curlの' --user'とfriendsを見てください。 –

答えて

0

あなたは下の

< HTTP/1.1 401 Unauthorized 

で見ることができるように
{"error":"You need to sign in or sign up before continuing."} 

401パートは、コンテンツを表示する権限がないことを伝えるステータスコードを送信するWebサーバーです。あなたはログインしていないか、適切なhttp認証資格情報を使用していません。
コメントで@DanielStenbergは、curlの-uを使用してhttp認証クレジットを設定できると述べています。さらに多くのオプションを表示するには、man curlと入力します。
これは、ログインして適切なクッキーを持っているため、アプリを実行している人と話をして必要なものを見つけ出す必要があるかもしれません。

{"error": "You need..."}の部分は、サーバーから実際に送信される応答の本文です。これは、あなたのcurlコールの-H "Accept: application/json"で尋ねたようなJSON文字列です。

最初にログインする必要があります。

短い出力で読みやすくなるように、あなたのcurlコマンドの-vは除外することができますが、素晴らしい情報が満載です。

+0

このような詳細な回答をお寄せいただきありがとうございます! – mtaff

関連する問題