An open API service indexing awesome lists of open source software.

https://github.com/lab-yue/requestify

A script to convert cURL into python requests code in few seconds
https://github.com/lab-yue/requestify

curl python-requests

Last synced: 23 days ago
JSON representation

A script to convert cURL into python requests code in few seconds

Awesome Lists containing this project

README

          

Description:

A scaffold to convert cURL into python requests code in few seconds

Install:

`pip(3) install requestify`

Usage:

There are two ways of input and output:

Input :

+ **from_clipboard**  ##(windows not tested)
+ **from_string('...your_string...')**

output:

+ **to_file('...your_file_name...')**
+ **to_current_file()**

Examples:

1.copy cURL from Chrome

![](./imgs/img1.png)

2.create a new script

```python
import requestify

requestify.from_clipboard.to_file('new_request.py')
```

This will write to a new file

or

```python
import requestify

requestify.from_clipboard.to_current_file()
```

This will overwrite the current file with new code

If you want to use from_string() , paste your cURL into a new string variable.

Example:

```python
import requestify

base_string = '''

curl 'https://github.com/' -H 'Pragma: no-cache' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.9,ja;q=0.8,en;q=0.7' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Cache-Control: no-cache' -H 'Cookie: .............' -H 'Connection: keep-alive' --compressed

'''

requestify.from_string(base_string).to_current_file()

```

3.run it

4.you will get this

```python
import requests

headers = {'Pragma': 'no-cache',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,ja;q=0.8,en;q=0.7',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive'
}

cookies = {'_octo': '............',
'_ga': '............',
'user_session': '............',
'__Host-user_session_same_site': '............',
'logged_in': '............',
'dotcom_user': '............',
'tz': '............',
'_gat': '............',
'_gh_sess': '............'
}

response = requests.get('https://github.com/', headers=headers, cookies=cookies)
```

Options:

you can set `with_cookies` or `with_headers` to `False` to disable cookies or headers code generation

```python
requestify.from_clipboard.to_current_file(with_cookies=False,with_headers=False)
```

or

```python
requestify.from_clipboard.to_file('new_request.py', with_cookies=False,with_headers=False)
```

Appendix:

you can also access the url , headers , cookies as python variables without writing them to a file

for instance:

```python
import requestify

data = requestify.from_clipboard

print(data.url)
# https://github.com/
print(data.headers)
# {'Pragma': 'no-cache', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9,ja;q=0.8,en;q=0.7', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive'}
print(data.cookies)
# {'_octo': '............', '_ga': '............', 'user_session': '............', '__Host-user_session_same_site': '............', 'logged_in': '............', 'dotcom_user': '............', 'tz': '............', '_gat': '............', '_gh_sess': '............'}
```