jeffrey neils
jeffrey neils

Reputation: 1

How do I connect to a website port using python sockets

I'm coding in Python and I'm looking for a way to connect to a website port using sockets so that I can send commands to the server. My code is:

import socket

HOST = 'www.google.com'
PORT = 80

server=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((HOST, PORT))

server.listen(5)

This code is giving me an error "The requested address is not valid in its context". How do I do this?

Upvotes: 0

Views: 468

Answers (1)

Carcigenicate
Carcigenicate

Reputation: 45826

You're trying to bind on Google's IP, which doesn't make sense because there isn't a network adapter connected to your computer with that IP (thus the error). You're mixing up creating a server and being a client connecting to a remote server. You want to connect to the Google server:

import socket

HOST = 'www.google.com'
PORT = 80

socket = socket.socket()
socket.connect((HOST, PORT))

# Send an HTTP GET request to request the page
socket.send(b"""
GET / HTTP/1.1
Host: www.google.com

""")
msg = socket.recv(8192)
print(msg)

Upvotes: 1

Related Questions