cURL скрипт для создания документа базы данных монго - PullRequest
0 голосов
/ 25 апреля 2018

Я использовал Chrome для входа в свою учетную запись mLab и создал базу данных mongo.Затем я открыл браузер devtools и создал документ в базе данных.В журнале devtools я вижу создание документа через POST «созданный документ? CSRF_TOKEN ....».Когда я щелкаю правой кнопкой мыши на этом POST, я могу записать команду как команду cURL или базу cURL.

Это cURL cmd:

curl "https://mlab.com/createdocument?CSRF_TOKEN=SBY9-RTVO-YW1P-LBJ5-EJUY-WYDO-Z7DS-REWE-WOPW-TIQ0-9UW4-LMA4-97IE-6FUS-TDTN-C9N9" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" -H "Origin: https://mlab.com" -H "Upgrade-Insecure-Requests: 1" -H "Content-Type: application/x-www-form-urlencoded" -H "User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Mobile Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "Referer: https://mlab.com/databases/test-db/collections/users?_id=_new^&pageSize=10^&pageNum=0^&totalCount=0^&" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: en-US,en;q=0.9" -H "Cookie: __utmc=234932573; __utmz=234932573.1524622777.1.1.utmcsr=(direct)^|utmccn=(direct)^|utmcmd=(none); __utmv=234932573.^|1=account_status=HAS_ACCOUNT=1; __utma=234932573.2132662725.1524622777.1524622777.1524646055.2; __utmt=1; JSESSIONID=1DAFA423980734AB9AB4D6A3A7031E9F.worker2; __utmb=234932573.2.10.1524646055" --data "CSRF_TOKEN=SBY9-RTVO-YW1P-LBJ5-EJUY-WYDO-Z7DS-REWE-WOPW-TIQ0-9UW4-LMA4-97IE-6FUS-TDTN-C9N9^&r=https^%^3A^%^2F^%^2Fmlab.com^%^2Fdatabases^%^2Ftest-db^%^2Fcollections^%^2Fusers^%^3F_id^%^3D_new^%^26pageSize^%^3D10^%^26pageNum^%^3D0^%^26totalCount^%^3D0^%^26^&db=test-db^&collection=users^&id=^&json=^%^7B^%^0D^%^0A++++^%^22fname^%^22^%^3A+^%^22Wile^%^22^%^2C^%^0D^%^0A++++^%^22lname^%^22^%^3A+^%^22Coyote^%^22^%^2C^%^0D^%^0A++++^%^22occupation^%^22^%^3A+^%^22Genius^%^22^%^0D^%^0A^%^7D^&stay=false^&pageSize=10^&pageNum=0^&totalCount=0^&q=^&s=^&f=^&CSRF_TOKEN=SBY9-RTVO-YW1P-LBJ5-EJUY-WYDO-Z7DS-REWE-WOPW-TIQ0-9UW4-LMA4-97IE-6FUS-TDTN-C9N9" --compressed

и это cURL bash:

curl 'https://mlab.com/createdocument?CSRF_TOKEN=SBY9-RTVO-YW1P-LBJ5-EJUY-WYDO-Z7DS-REWE-WOPW-TIQ0-9UW4-LMA4-97IE-6FUS-TDTN-C9N9' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: https://mlab.com' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Mobile Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: https://mlab.com/databases/test-db/collections/users?_id=_new&pageSize=10&pageNum=0&totalCount=0&' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.9' -H 'Cookie: __utmc=234932573; __utmz=234932573.1524622777.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmv=234932573.|1=account_status=HAS_ACCOUNT=1; __utma=234932573.2132662725.1524622777.1524622777.1524646055.2; __utmt=1; JSESSIONID=1DAFA423980734AB9AB4D6A3A7031E9F.worker2; __utmb=234932573.2.10.1524646055' --data 'CSRF_TOKEN=SBY9-RTVO-YW1P-LBJ5-EJUY-WYDO-Z7DS-REWE-WOPW-TIQ0-9UW4-LMA4-97IE-6FUS-TDTN-C9N9&r=https%3A%2F%2Fmlab.com%2Fdatabases%2Ftest-db%2Fcollections%2Fusers%3F_id%3D_new%26pageSize%3D10%26pageNum%3D0%26totalCount%3D0%26&db=test-db&collection=users&id=&json=%7B%0D%0A++++%22fname%22%3A+%22Wile%22%2C%0D%0A++++%22lname%22%3A+%22Coyote%22%2C%0D%0A++++%22occupation%22%3A+%22Genius%22%0D%0A%7D&stay=false&pageSize=10&pageNum=0&totalCount=0&q=&s=&f=&CSRF_TOKEN=SBY9-RTVO-YW1P-LBJ5-EJUY-WYDO-Z7DS-REWE-WOPW-TIQ0-9UW4-LMA4-97IE-6FUS-TDTN-C9N9' --compressed

Я скопировал cURL cmd в файл с именем create-document.sh и добавил -i после скручивания, но перед "http .....

, затем я открываю Git Bash (я работаю в системе Windows 10) и выполняю следующую инструкцию: ./create-document.sh

Это ответ, который я получаю:

$ ./create-document.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   637    0     0  100   637      0   1454 --:--:-- --:--:-- --:--:--  
1454HTTP/1.1 302 Found
Date: Wed, 25 Apr 2018 08:55:54 GMT
Server: Apache
Strict-Transport-Security: max-age=15552000
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Location: https://mlab.com/databases/test-db/collections/users?_id=_new^&pageSize=10^&pageNum=0^&totalCount=0^&
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html;charset=UTF-8

Статус возвращен 302, и мне говорят, что это успешный ответ. Я ожидал, что это добавит еще одиндокумент в мою базу данных. Однако, когда я смотрю на базу данных, я вижу только исходный документ.

Затем я удалил содержимое create-document.sh и скопировал в команду bUR cURL. Я вставил -Я снова и сохранил сценарий. Снова, я выполнил команду ./create-document.sh, получил ответ со статусом 302 и проверил базу данных Монго. Снова, нет новой записи.

Любые предложенияо том, как создать документ с помощью команды cURL?

Спасибо.

...