5

RESTAPI を使用して、php クライアントと django サーバーとの通信を行っています。jsonデータを掲載しました。phpコードは

$arr=array("username"=>"dtthtdas45", 
          "password"=>"123456", 
          "email"=>"ramg@ram.com", 
          "is_active"=>"1", 
          "is_staff"=>"1", 
          "is_superuser"=>"1",
          "promo_code"=>"1212121",
          "gender"=>"m",
          "birth_year"=>"1991",
          "zip"=>"77707",
          "first_name"=>"john",
          "last_name"=>"doe",
          "current_state"=>"1"
          );
echo $data_string= json_encode($arr);
$ch = curl_init('http://localhost:8000/api/ecp/user/?format=json');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   
 $result = curl_exec($ch);

コマンドラインのみを使用して同じ URL を呼び出すにはどうすればよいですか?

私は以下を試しました

curl -H 'Content-Type: application/json' -X POST -d '{"username": "dtthtdas45", "password": "123456","email":"email@email.com","is_active":"1","is_staff":"1","is_superuser",promo_code":"1212121","gender":"m","birth_year":"1991","zip":"77707","first_name":"john","last_name":"doe","current_state":"1"}' http://localhost:8000/api/ecp/user/?format=json

しかし運が悪い、それは次のエラーを示しています

curl: (6) Couldn't resolve host 'application'
curl: (6) Couldn't resolve host 'dtthtdas45,'
curl: (6) Couldn't resolve host 'password:'
4

1 に答える 1

3

コマンドラインのみを使用して同じ URL を呼び出すにはどうすればよいですか?

すべてのデータ ペアを書き出したわけではありませんが、以下を参考にしてください。もっと読むことをお勧めしますcurl

curl -H 'Content-Type: application/json' -X POST -d '{"username": "dtthtdas45", "password": "123456"}' http://localhost:8000/api/ecp/user/?format=json

注:より多くのエンドポイントに対してこれを行っていると仮定すると、 restyなどのツールをチェックアウトすることをお勧めします。

于 2012-10-10T15:29:39.920 に答える