While running the simple Python program below, I'm getting the following error:
./url_test.py: line 2: syntax error near unexpected token `('
./url_test.py: line 2: `response = urllib2.urlopen('http://python.org/')'
import urllib2
response = urllib2.urlopen('http://python.org/')
print "Response:", response
# Get the URL. This gets the real URL.
print "The URL is: ", response.geturl()
# Getting the code
print "This gets the code: ", response.code
# Get the Headers.
# This returns a dictionary-like object that describes the page fetched,
# particularly the headers sent by the server
print "The Headers are: ", response.info()
# Get the date part of the header
print "The Date is: ", response.info()['date']
# Get the server part of the header
print "The Server is: ", response.info()['server']
# Get all data
html = response.read()
print "Get all data: ", html
# Get only the length
print "Get the length :", len(html)
# Showing that the file object is iterable
for line in response:
print line.rstrip()
# Note that the rstrip strips the trailing newlines and carriage returns before
# printing the output.
Those errors are not typical Python tracebacks. Those errors look like shell errors.
I think you are trying to run a Python script with Bash (or an another shell), i.e. you are doing something like:
Instead, you should use:
You missed to add a shebang at the beginning of the script to tell the shell to interpret your script as a python script. Something like this:
or:
See also: Why do people write #!/usr/bin/env python on the first line of a Python script?