<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://shawnreeves.net//wiki/index.php?action=history&amp;feed=atom&amp;title=Retreiving_data_you_posted_in_a_browser</id>
	<title>Retreiving data you posted in a browser - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://shawnreeves.net//wiki/index.php?action=history&amp;feed=atom&amp;title=Retreiving_data_you_posted_in_a_browser"/>
	<link rel="alternate" type="text/html" href="https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;action=history"/>
	<updated>2026-04-15T04:02:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=2270&amp;oldid=prev</id>
		<title>Shawn: Reverted edits by 94.23.1.28 (talk) to last revision by Shawn</title>
		<link rel="alternate" type="text/html" href="https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=2270&amp;oldid=prev"/>
		<updated>2012-07-31T21:35:08Z</updated>

		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/wiki/index.php?title=Special:Contributions/94.23.1.28&quot; title=&quot;Special:Contributions/94.23.1.28&quot;&gt;94.23.1.28&lt;/a&gt; (&lt;a href=&quot;/wiki/index.php?title=User_talk:94.23.1.28&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:94.23.1.28 (page does not exist)&quot;&gt;talk&lt;/a&gt;) to last revision by &lt;a href=&quot;/wiki/index.php?title=User:Shawn&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Shawn (page does not exist)&quot;&gt;Shawn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Can&#039;t load revision 2270&lt;/p&gt;</summary>
		<author><name>Shawn</name></author>
	</entry>
	<entry>
		<id>https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=2258&amp;oldid=prev</id>
		<title> at 05:45, 28 July 2012</title>
		<link rel="alternate" type="text/html" href="https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=2258&amp;oldid=prev"/>
		<updated>2012-07-28T05:45:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;References&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Can&#039;t load revision 2258&lt;/p&gt;</summary>
		<author><name></name></author>
	</entry>
	<entry>
		<id>https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=1307&amp;oldid=prev</id>
		<title>Shawn: references and formatting</title>
		<link rel="alternate" type="text/html" href="https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=1307&amp;oldid=prev"/>
		<updated>2011-03-29T03:29:51Z</updated>

		<summary type="html">&lt;p&gt;references and formatting&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:29, 28 March 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I looked through dozens of pages on the internet trying to find out how form data were encoded for transmission. Finally, I was looking at a PHP.net page about base64 unencoding and noticed an example encoded text looked like what I had, so I used PHP in the Terminal to decode it, lickety-split:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I looked through dozens of pages on the internet trying to find out how form data were encoded for transmission. Finally, I was looking at a PHP.net page about base64 unencoding and noticed an example encoded text looked like what I had, so I used PHP in the Terminal to decode it, lickety-split:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  php -r &amp;#039;echo base64_decode(&amp;quot;cmVmZX...1TZW5k&amp;quot;);&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  php -r &amp;#039;echo base64_decode(&amp;quot;cmVmZX...1TZW5k&amp;quot;);&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;About the above command&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;php is the command line interpreter, and it must be enabled on your computer.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;About the above command&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;-r means execute the following command.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/ins&gt;php is the command line interpreter, and it must be enabled on your computer.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;echo means output the following text, in this case back to the terminal so you can read it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/ins&gt;-r means execute the following command.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;notice I use single quotes for the entire command, so I can use double-quotes for the data to be decoded and the interpreter won&#039;t get confused.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/ins&gt;echo means output the following text, in this case back to the terminal so you can read it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*&lt;/ins&gt;notice I use single quotes for the entire command, so I can use double-quotes for the data to be decoded and the interpreter won&#039;t get confused.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The resulting text was URL-encoded, something like this:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The resulting text was URL-encoded, something like this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  EnergyTeachers.org%2C+a+nonprofit+started+by+a+&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  EnergyTeachers.org%2C+a+nonprofit+started+by+a+&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;Line 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Similar work is done by the program File Juicer. It goes through Safari&amp;#039;s cache and retrieves files and images there, and also many other Mac apps&amp;#039; caches.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Similar work is done by the program File Juicer. It goes through Safari&amp;#039;s cache and retrieves files and images there, and also many other Mac apps&amp;#039; caches.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:http://echoone.com/filejuicer/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:http://echoone.com/filejuicer/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==References==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Wikipedia article on Base64 http://en.wikipedia.org/wiki/Base64&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PHP encoding functions http://www.php.net/manual/en/ref.url.php&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Computers]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Computers]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Shawn</name></author>
	</entry>
	<entry>
		<id>https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=1306&amp;oldid=prev</id>
		<title>Shawn: Created page with &#039;==Scenario== The other day, I posted a message on a Cornell Yahoo Group about EnergyTeachers.org. The moderator wrote me back asking me to repost the message with my name and alu…&#039;</title>
		<link rel="alternate" type="text/html" href="https://shawnreeves.net//wiki/index.php?title=Retreiving_data_you_posted_in_a_browser&amp;diff=1306&amp;oldid=prev"/>
		<updated>2011-03-29T02:47:00Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;==Scenario== The other day, I posted a message on a Cornell Yahoo Group about EnergyTeachers.org. The moderator wrote me back asking me to repost the message with my name and alu…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Scenario==&lt;br /&gt;
The other day, I posted a message on a Cornell Yahoo Group about EnergyTeachers.org. The moderator wrote me back asking me to repost the message with my name and alumnus info, their policy being not to post without that info. I wanted to re-post the exact same phrases, but hadn&amp;#039;t saved the text. Yahoo Groups offers no way to access my posts if they&amp;#039;re not accepted.&lt;br /&gt;
==Process==&lt;br /&gt;
I thought my web browser, Safari, might have cached the text. I went to the posting form, typed the letter G in the Subject field, and Safari filled in the rest. So, if it remembered that, there&amp;#039;s a chance it would remember the text I put in the other field.&lt;br /&gt;
&lt;br /&gt;
Going to the next field, I tried typing the first letter of the message, but I didn&amp;#039;t remember what it was. It turns out that even if I did, Auto Fill doesn&amp;#039;t automatically fill large text areas, just briefer parts of a form. So, there&amp;#039;s no guarantee that Safari remembers what I typed at all, but I wanted to hunt for it.&lt;br /&gt;
I learned that Safari keeps a cache of recent information in a file at ~/Library/Caches/com.apple.Safari/Cache.db . I opened that file in HexEdit, and the header told me in plain english that it was a SQLite format database.&lt;br /&gt;
&lt;br /&gt;
I opened Terminal (Mac OS terminal program) and then opened the file in SQLite with this command:&lt;br /&gt;
 sqlite3 ~/Library/Caches/com.apple.Safari/Cache.db&lt;br /&gt;
Inside sqlite3, I found out what tables there were in this db:&lt;br /&gt;
 sqlite&amp;gt; .tables&lt;br /&gt;
 cfurl_cache_blob_data       cfurl_cache_schema_version&lt;br /&gt;
 cfurl_cache_response&lt;br /&gt;
the first table has all sorts of information about each page visit in Safari. The last table has date info that might be useful. The first field in each of those two tables has an event ID that helps correlate the information. If you turn on headers, you can see what each field is. Get one row just to see the headers with an example row:&lt;br /&gt;
 sqlite&amp;gt; .headers ON&lt;br /&gt;
 sqlite&amp;gt; SELECT * FROM  cfurl_cache_blob_data LIMIT 1;&lt;br /&gt;
You&amp;#039;ll see that fields are separated by a pipe (|).&lt;br /&gt;
So I searched for rows that had a unique part of the URL in the field called request_object and was a POST, not a GET, POST being the way data-rich forms are sent:&lt;br /&gt;
 sqlite&amp;gt; SELECT request_object FROM cfurl_cache_blob_data &lt;br /&gt;
 WHERE request_object LIKE &amp;#039;%&amp;gt;POST&amp;lt;%&amp;#039;&lt;br /&gt;
 AND request_object LIKE &amp;#039;%big_red_bulletin%&amp;#039;;&lt;br /&gt;
Inside that row of data, Safari keeps a tantalizing bit of information in XML:&lt;br /&gt;
 &amp;lt;data&amp;gt;&lt;br /&gt;
 cmVmZXJlcj0lMkZncm91cCUyRmJpZ19yZWRfYnVsbGV0aW4lMkYmbWVzc2Fn&lt;br /&gt;
 ZU51bT0wJnljYj1mJTJGa2Ewa2p5a1JmJmZyb209JnN1YmplY3Q9R3JlZW4r&lt;br /&gt;
 ...(leaving out several lines)&lt;br /&gt;
 dGlvbi4lMEQlMEFodHRwJTNBJTJGJTJGZW5lcmd5dGVhY2hlcnMub3JnJTJG&lt;br /&gt;
 Z3JlZW5kb2xsaG91c2VjaGFsbGVuZ2UucGhwJmxhbmc9MDAmc2VuZD1TZW5k&lt;br /&gt;
 &amp;lt;/data&amp;gt;&lt;br /&gt;
That looks like data compressed for transmission, not unlike how images are compressed into text characters for transmission through e-mail. Here&amp;#039;s where my process got sticky. I had no idea how to decompress it, then I saw these lines nearby in the request:&lt;br /&gt;
 &amp;lt;key&amp;gt;Accept-Encoding&amp;lt;/key&amp;gt;&lt;br /&gt;
 &amp;lt;string&amp;gt;gzip, deflate&amp;lt;/string&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;Content-Type&amp;lt;/key&amp;gt;&lt;br /&gt;
 &amp;lt;string&amp;gt;application/x-www-form-urlencoded&amp;lt;/string&amp;gt;&lt;br /&gt;
I thought maybe I could save the data in a file, give it a gz file extension, and my Mac would automatically try to decompress it when I double clicked the file in the finder. Well, that didn&amp;#039;t work, nor did trying gzip in the command line. From the words &amp;#039;Accept-Encoding&amp;#039; I realized that Safari was just telling the server that it was happy to receive compressed info, not relevant to this project.&lt;br /&gt;
&lt;br /&gt;
I looked through dozens of pages on the internet trying to find out how form data were encoded for transmission. Finally, I was looking at a PHP.net page about base64 unencoding and noticed an example encoded text looked like what I had, so I used PHP in the Terminal to decode it, lickety-split:&lt;br /&gt;
 php -r &amp;#039;echo base64_decode(&amp;quot;cmVmZX...1TZW5k&amp;quot;);&amp;#039;&lt;br /&gt;
;About the above command:php is the command line interpreter, and it must be enabled on your computer.&lt;br /&gt;
:-r means execute the following command.&lt;br /&gt;
:echo means output the following text, in this case back to the terminal so you can read it.&lt;br /&gt;
:notice I use single quotes for the entire command, so I can use double-quotes for the data to be decoded and the interpreter won&amp;#039;t get confused.&lt;br /&gt;
The resulting text was URL-encoded, something like this:&lt;br /&gt;
 EnergyTeachers.org%2C+a+nonprofit+started+by+a+&lt;br /&gt;
So I replaced the funny parts with their original equivalents. For example, a plus sign means a space, and %2C means a comma. But there&amp;#039;s also a function in PHP to decode that, so now I realize that I can get the original post this way:&lt;br /&gt;
 php -r &amp;#039;echo urldecode(base64_decode(&amp;quot;cmVmZX...1TZW5k&amp;quot;));&amp;#039;&lt;br /&gt;
PHP even has a sqlite interpreter, so I could automate the whole process if I like, but I&amp;#039;m happy that I got back my lost post.&lt;br /&gt;
&lt;br /&gt;
Similar work is done by the program File Juicer. It goes through Safari&amp;#039;s cache and retrieves files and images there, and also many other Mac apps&amp;#039; caches.&lt;br /&gt;
:http://echoone.com/filejuicer/&lt;br /&gt;
&lt;br /&gt;
[[Category:Computers]]&lt;/div&gt;</summary>
		<author><name>Shawn</name></author>
	</entry>
</feed>