Having issues with exception

K

Kyle Johnson

Hi, I have been having a bit of an issue. I am trying to create a
program that will allow me to run a file containing a directory listing
line by line through a proxy. I am designing this to help with my job, I
am a web application pen tester. The only issue with the code is I am
running into 404 and 502 errors which is to be expected. I would like to
find a way to handle the exception without bringing the execution to a
halt or deleting anything from the original directory listing. Here is
my code

begin
list = IO.foreach(url_file) {|line| agent.get(line)}
rescue WWW::Mechanize::ResponseCodeError
puts "Page not found"
end

Please if anyone has an idea on how to make this work I would very much
appreciate the help.
 
J

Judson Lester

[Note: parts of this message were removed to make it a legal post.]

Your problem is that you're catching the exception outside of the loop. Try
something like:


list = IO.foreach(url_file) do |line|
begin
agent.get(line)
rescue WWW::Mechanize::ResponseCodeError
puts "Page not found"
end
end
 
M

Marnen Laibow-Koser

Judson said:
Your problem is that you're catching the exception outside of the loop.

Should that matter? The extension is still happening after the begin,
so the rescue should catch it.
Try
something like:


list = IO.foreach(url_file) do |line|
begin
agent.get(line)
rescue WWW::Mechanize::ResponseCodeError
puts "Page not found"
end
end

(The inner begin and end are not actually needed here, I think.)

Best,
 
M

Marnen Laibow-Koser

Marnen said:
Should that matter? The extension is still happening after the begin,
so the rescue should catch it.

Sorry, I meant "exception", not "extension", obviously! :p

[...]
 
J

Judson Lester

[Note: parts of this message were removed to make it a legal post.]

From the OPs description of the problem, and the code presented, yes, the
rescue will catch the exception, but that will stop the loop.

So, if you're trying to get /missing.html, /broken.html,
/the_url_I_want.svg, and missing raises a 404, then that will get caught by
the rescue outside of the loop, and you won't make further requests. In
other words:

input:
http://site.com/missing.html
http://site.com/aweseom.html

output:
Page Not Found

When what I understood Kyle to want from the output is something like
Page Not Found
"It's spelled 'awesome'"

Judson

Marnen said:
Should that matter? The extension is still happening after the begin,
so the rescue should catch it.

Sorry, I meant "exception", not "extension", obviously! :p

[...]
 
M

Marnen Laibow-Koser

Judson said:
From the OPs description of the problem, and the code presented, yes,
the
rescue will catch the exception, but that will stop the loop.

So, if you're trying to get /missing.html, /broken.html,
/the_url_I_want.svg, and missing raises a 404, then that will get caught
by
the rescue outside of the loop, and you won't make further requests. In
other words:

input:
http://site.com/missing.html
http://site.com/aweseom.html

output:
Page Not Found

When what I understood Kyle to want from the output is something like
Page Not Found
"It's spelled 'awesome'"

I think you're right about what the OP wants. I had initially thought
that both syntaxes would stop the loop, but on second reading, I think I
was wrong about that. Gotcha.

Best,
 
K

Kyle Johnson

Thank you so much guys. IT WORKS!!!! We have seriously been beating our
heads over our desks about this. I really appreciate it guys. Do you
guys have twitter at all? I would like to give you some credit for this.
 
M

Marnen Laibow-Koser

Kyle said:
Thank you so much guys. IT WORKS!!!! We have seriously been beating our
heads over our desks about this. I really appreciate it guys. Do you
guys have twitter at all? I would like to give you some credit for this.

Yeah, I'm @marnen (big surprise... :) ).

Best,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,996
Messages
2,570,238
Members
46,826
Latest member
robinsontor

Latest Threads

Top