Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to resolve TypeError get() takes exactly 2 arguments (3 given) in Python request using get method

I am getting an error while using Request object in Python. Below is my code.

class APIDOC(Document):
    def request_api(self):
        method_type = self.method_type
        api = self.api
        parameters = self.parameters
        session_object = requests.session()
        self.get_login(session_object)
        if method_type == "POST":   
            data = {}
            for param in parameters:
                data[param.key] = param.value
            response = session_object.post(api,data)
            if response.status_code == 200:
                return response.text
            else:
                return "Error while getting response error code:{0}".format(response.status_code)
        elif method_type == "GET":
            data = {}
            for param in parameters:
                data[param.key] = param.value 
            print("____________________________",data)
            response = session_object.get(api,data)
            if response.status_code == 200:
                return response.text
            else:
                return "Error while getting response error code:{0}".format(response.status_code)

After reffering one document on requests in python I found below things for "GET" method

r = requests.get('http://httpbin.org/get', params=payload)

But on executing the same I got an error

response = session_object.get(api,data) TypeError: get() takes exactly 2 arguments (3 given)

like image 417
Abhijit Kumbhar Avatar asked Sep 10 '26 03:09

Abhijit Kumbhar


1 Answers

To send parameters with a GET, you'll need to specify them by keyword:

session_object.get(api, params=data)
like image 123
wim Avatar answered Sep 12 '26 15:09

wim



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!