BlogicBlog: View from the trenches

The blog about Java and XML with focus on troubleshooting issues and tools.

Friday, February 03, 2006

The techie way of liberating the podcast URL from iTunes

Permanent article link

Jon Udell is not happy about having to transcribe podcast URLs that iTunes displays, but does not allow to copy. While the general point about lock-in is good, here is a quick techie workaround in a meanwhile.

However much iTunes may want to hide the URLs, at some point it has to actually retrieve something from it, and do it using standard network protocol.

Enter Ethereal, open-source multi-platform network protocol analyser. Using it to get the URL is a serious overkill, but the tool itself comes useful over and over again in many situations.

The steps to snag the URL are:
  1. With iTunes already open, start Ethereal up and run capture in non-promiscuous mode with 'tcp' as the filter.
  2. Go to iTunes and do 'Update podcast' on the podcast you want.
  3. Let the update happen and stop the Ethereal capture. You should now have a lot of packets in the Ethereal's view.
  4. In the filter section (this is different filter from before) enter: http.request.uri contains "xml" .
  5. This should show only the packets that are http requests for files with xml in their name. If nothing shows up, try http.request.method as filter. If there is still problem, try http and see if you have any traffic on the chosen interface at all.
  6. Assuming you finally have the right request, you now do right-click-menu/Follow TCP Stream and copy the URI and host from there.
  7. You are done. It sounds a bit long, but takes about 30 seconds after installation is done and correct interfaces are figured out.
For more advanced HTTP work, it is also worth going to the preferences for Ethereal and make sure that packet reassembly is enabled for all levels of the network stack (HTTP, TCP, IP).

BlogicBlogger Over and Out


At February 06, 2006 12:44 PM, Anonymous Anonymous said...

I don't understand why you just don't get them from individual podcast files themselves - and avoid having to use iTunes altogether.

In mp3 podcasts this info is in these id3 tags (v2.2), the feed is on WFD; the episode is typically on TID:
=== TID ():
=== WFD ():

for m4a files, you can use AtomicParsley to get at the atoms that carry the metadata:

Atom "purl" contains:
Atom "egid" contains:

At February 06, 2006 7:47 PM, Blogger BlogicBlogger said...

I have a nice hammer (Ethereal), which I knew how to use. I did not know about AtomiParsley, nor thought of id3 tags. Obviously, neither did Jon, or he would not have written the original entry.

Another approach is offered at, where Martin Dittus suggests using iTunes OPML export. Unfortunately, I was not able to get it to work, as OPML export did not exist in iTunes 6.0 and iTunes 6.2 crashes every time I try to use that function. But it might work for someone else.

In summary, it is good to see that with my article, I triggered more than one explanation of how to make Jon's problem go away.



Post a Comment

<< Home