2017-01-26 2 views
1

Я сгенерировал свой файл Python через PHP.Выполнить командную строку cURLs в Python

import os 

#state = 6f28bbc4-623a-4424-86df-76e10e82169d 
#nonce = 6ff7995b-8425-4a66-bb9c-1671557e5778 

cmd = 'curl -c session_cookies.txt "https://login.uat.site.be/openid/oauth/authorize?client_id=site&state=6f28bbc4-623a-4424-86df-76e10e82169d&nonce6ff7995b-8425-4a66-bb9c-1671557e5778&response_type=code&claims=%7B%22id_token%22%3A%7B%22http%3A%2F%2Fsite.be%2Fclaims%2Froles%22%3Anull%7D%7D" 2>/dev/null| curl -v -b session_cookies.txt -L -H "Content-Type: application/x-www-form-urlencoded" -v -d '[email protected]&j_password=site1' "https://login.uat.site.be/openid/login.do" 2>&1 >/dev/null | grep Location | grep code= ' 

os.system(cmd) 

Я продолжал получать SyntaxError: invalid syntax. В двойных кавычках так много одиночных кавычек, я не уверен, что я сделал не так. Я попытался использовать \', чтобы избежать этого.

ответ

2

Вы можете видеть эту проблему непосредственно, когда смотрите цвета в своем блочном коде.

[email protected] черный, в то время как остальная часть строки красная, потому что ' до j_username закрывает строку преждевременно.

Вы можете использовать """string""" синтаксис, так как в этом documentation:

cmd = """curl -c session_cookies.txt "https://login.uat.site.be/openid/oauth/authorize?client_id=benu&state=6f28bbc4-623a-4424-86df-76e10e82169d&nonce6ff7995b-8425-4a66-bb9c-1671557e5778&response_type=code&claims=%7B%22id_token%22%3A%7B%22http%3A%2F%2Fsite.be%2Fclaims%2Froles%22%3Anull%7D%7D" 2>/dev/null| curl -v -b session_cookies.txt -L -H "Content-Type: application/x-www-form-urlencoded" -v -d '[email protected]&j_password=site1' "https://login.uat.site.be/openid/login.do" 2>&1 >/dev/null | grep Location | grep code= """ 
+0

Ahh ... хороший трюк. Добавляем это в свою панель инструментов python. Спасибо Эрик. – ihue

Смежные вопросы