Latest posts on Проверка localhost адресов topichttp://python.su/forum/topic/986/2007-07-12T12:18:42+03:00Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-12T12:18:42+03:00pythonwin6581<strong>nss</strong>, <strong>guest01</strong>. пожалуйста, не отвлекайтесь от темы :)
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-12T11:30:11+03:00nss6579Этим руководством нужно пользоваться, когда задаешь вопросы, а не когда даешь ответы :) Кстати, там в конце есть пару советов и для отвечающих, вполне нециничные.
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-11T10:47:11+03:00guest016553<blockquote><em>nss</em><br/>> Ну да. А почему бы не проверить совпадение стрингов под Виндой? Ведь в этом все отличие …<br/><br/><a href="http://www.ln.com.ua/%7Eopenxs/articles/smart-questions-ru.html">http://www.ln.com.ua/~openxs/articles/smart-questions-ru.html</a></blockquote>Ок. Вы правы, я неправильно поставил вопрос. Но это уже не важно. Сам написал. Кстати, руководство “Как правильно задать вопросы” довольно циничное. К счастью, не все люди такие. Но есть там и много правильного.
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T20:30:13+03:00nss6550> Ну да. А почему бы не проверить совпадение стрингов под Виндой? Ведь в этом все отличие …<br/><br/><a href="http://www.ln.com.ua/%7Eopenxs/articles/smart-questions-ru.html">http://www.ln.com.ua/~openxs/articles/smart-questions-ru.html</a>
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T20:20:42+03:00guest016549<blockquote><em>slivlen</em><br/><blockquote><em>guest01</em><br/>Здорово было бы сделать проверку корректности относительных ссылок для Линукса.</blockquote><blockquote><em>guest01</em><br/>Мне под Виндой и средствами Питона.</blockquote>Интересная задачка получается :D</blockquote>Ну да. А почему бы не проверить совпадение стрингов под Виндой? Ведь в этом все отличие …
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T20:01:39+03:00slivlen6548<blockquote><em>guest01</em><br/>Здорово было бы сделать проверку корректности относительных ссылок для Линукса.</blockquote><blockquote><em>guest01</em><br/>Мне под Виндой и средствами Питона.</blockquote>Интересная задачка получается :D
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T18:53:19+03:00nss6546С каких это пор в венде появились ссылки???
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T18:40:15+03:00guest016545<blockquote><em>nss</em><br/>Я просто использую file для таких целей. Если ссылка битая, он об этом тебе сообщит.<br/><br/><div class="code"><pre>rust@jupiter:~ $ ln -s /home/rust/Desktop/euoa ./<br/>rust@jupiter:~ $ file euoa <br/>euoa: broken symbolic link to `/home/rust/Desktop/euoa'</pre></div></blockquote>Мне под Виндой и средствами Питона.
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T16:22:20+03:00nss6539Я просто использую file для таких целей. Если ссылка битая, он об этом тебе сообщит.<br/><br/><div class="code"><pre>rust@jupiter:~ $ ln -s /home/rust/Desktop/euoa ./<br/>rust@jupiter:~ $ file euoa <br/>euoa: broken symbolic link to `/home/rust/Desktop/euoa'</pre></div>
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T15:27:18+03:00guest016536<blockquote><em>slivlen</em><br/><blockquote><em>guest01</em><br/>Здорово было бы сделать проверку корректности относительных ссылок для Линукса.</blockquote>Ты хочешь проверить существует ли файл на который указывает ссылка, я правильно понял?</blockquote>Нет. Это дело я проверяю методом os.access. После того как установленно, что он существует, необходимо проверить, что путь указанный в ссылке абсолютно идентичен реальному пути, т.е. все должно быть набрано до совпадения в регистре. Иначе Линукс не поймет такого безобразия.
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T15:07:55+03:00slivlen6535<blockquote><em>guest01</em><br/>Здорово было бы сделать проверку корректности относительных ссылок для Линукса.</blockquote>Ты хочешь проверить существует ли файл на который указывает ссылка, я правильно понял?
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-10T13:57:16+03:00guest016532Здорово было бы сделать проверку корректности относительных ссылок для Линукса. Ведь там чувствительность к регистру. Есть идеи? Я это почти написал, но получается какой то монстр.
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-09T10:46:37+03:00guest016511Продолжу разговор сам с собой. В итоге я решил оставить функцию проверки url в таком виде:<br/><div class="code"><pre>def valid_http(url):<br/> try:<br/> connect = urllib2.urlopen(url)<br/> return 1<br/> except urllib2.URLError, e:<br/> if hasattr(e, 'reason'):<br/> print 'We failed to reach a server: ', url<br/> print 'Reason: ', e.reason<br/> return 0<br/> elif hasattr(e, 'code'):<br/> print 'The server ', url,' couldn\'t fulfill the request.'<br/> print 'Error code: ', e.code<br/> return 0</pre></div>
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-09T10:26:38+03:00guest016510У меня такой вопрос возник. Для проверки, что url валидный (существует) лучше использовать urllib или urllib2?
Общий :: Python для экспертов :: Проверка localhost адресов
2007-07-09T09:10:38+03:00guest016507Привет всем! Чтобы тема не застоялась напишу свое решения проверки относительных путей и не только. Если у кого будет лучшее решение (а оно будет, тут я иллюзий не питаю), то смело пишите. Или критикуйте. Спасибо.<br/><div class="code"><pre> <span class="k">def</span> <span class="nf">check</span><span class="p">(</span><span class="n">_dict</span><span class="p">):</span> <span class="c"># _dict example: _dict['C:\LinkChecker\pv_act\common\page.htm'] = ['../page2.html','http://www.somefoo.com']</span>
<span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">_dict</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
<span class="k">print</span> <span class="s">'File name </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">k</span>
<span class="k">for</span> <span class="n">href</span> <span class="ow">in</span> <span class="n">v</span><span class="p">:</span>
<span class="k">if</span> <span class="n">truth</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="s">'http://'</span><span class="p">,</span> <span class="n">href</span><span class="p">))</span> <span class="ow">or</span> <span class="n">truth</span><span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">search</span><span class="p">(</span><span class="s">'https://'</span><span class="p">,</span> <span class="n">href</span><span class="p">)):</span>
<span class="n">state</span> <span class="o">=</span> <span class="s">'Unknown url.'</span>
<span class="k">if</span> <span class="n">href</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">'http'</span><span class="p">):</span>
<span class="n">state</span> <span class="o">=</span> <span class="s">'Connection is failed. Check url.'</span>
<span class="k">if</span> <span class="n">valid_http</span><span class="p">(</span><span class="n">href</span><span class="p">):</span>
<span class="n">state</span> <span class="o">=</span> <span class="s">'Ok. I find it.'</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">state</span> <span class="o">=</span> <span class="s">"File doesn't exist."</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">href</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">'../'</span><span class="p">):</span>
<span class="k">if</span> <span class="n">access</span><span class="p">(</span><span class="n">k</span><span class="p">[:</span><span class="n">k</span><span class="o">.</span><span class="n">rindex</span><span class="p">(</span><span class="s">'</span><span class="se">\\</span><span class="s">'</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="n">href</span><span class="p">,</span> <span class="n">F_OK</span><span class="p">):</span>
<span class="n">state</span> <span class="o">=</span> <span class="s">"File exist."</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">count</span> <span class="o">=</span> <span class="n">href</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s">'../'</span><span class="p">)</span> <span class="c"># example: href='../../page.htm' -> count = 2</span>
<span class="n">root</span> <span class="o">=</span> <span class="n">k</span><span class="p">[:</span><span class="n">k</span><span class="o">.</span><span class="n">rindex</span><span class="p">(</span><span class="s">'</span><span class="se">\\</span><span class="s">'</span><span class="p">)]</span> <span class="c"># example: k='C:\LinkChecker\pv_act\common\page.htm'-> root = 'C:\LinkChecker\pv_act\common'</span>
<span class="n">temp</span> <span class="o">=</span> <span class="s">'</span><span class="se">\\</span><span class="s">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">root</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'</span><span class="se">\\</span><span class="s">'</span><span class="p">)[:</span><span class="o">-</span><span class="n">count</span><span class="p">])</span>
<span class="k">if</span> <span class="n">access</span><span class="p">(</span><span class="n">temp</span><span class="o">+</span><span class="s">'</span><span class="se">\\</span><span class="s">'</span><span class="o">+</span><span class="n">href</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s">'../'</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">F_OK</span><span class="p">):</span>
<span class="n">state</span> <span class="o">=</span> <span class="s">'File exist.'</span>
</pre></div>