У меня есть сценарий Perl, который использует LWP:: UserAgent для загрузки веб-страницы, которая это затем обрабатывает регулярные выражения использования. Проблема состоит в том, что части веб-страницы, которые являются регулярными HTML, не возвращаются к LWP:: UserAgent, так как сайт распознает, что браузеру не установили Flash и вместо этого возвращает HTML, предлагающий нам загружать Flash вместо соответствующего HTML, что мы должны проанализировать.
Как может я делать LWP:: UserAgent, кажется, имеют флэш-память, установленную на веб-сервере, от которого мы запрашиваем страницу? Я использую следующий код для инициализации LWP:: UserAgent:
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(cookie_jar => { },requests_redirectable => [ ]);
$ua->agent('Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:9.9.9.9) Gecko/20079999 Firefox/2.0.0.1');
$ua->timeout(10);
Заранее спасибо за Вашу справку!
И @Michael, и @dma_k были правы. Сервер не проверял, была ли установлена флэш-память LWP :: UserAgent. Вместо этого по какой-то причине возвращенный контент не сбрасывался правильно, пока мы пытались отладить скрипт. К сожалению, мы не нашли способ исправить это, но после некоторых проб и ошибок мы выяснили, как вытащить соответствующие поля со страницы. Извините, что на этот вопрос нет правильного ответа.
Для этого я бы порекомендовал использовать Firebug - очень красивый и мощный аддон для FF. Я согласен с Майклом, что сервер может узнать такую информацию о клиенте только из заголовков, посылаемых ему, или из скрипта, который работает на клиенте и может говорить с сервером (JavaScript, Flex, ....). Для случая JavaScript вы можете попробовать отключить его в FF temporary и попробовать перезагрузить страницу: если сервер ответит вам так же, как для LWP, то вы знаете ответ.
Существует метод sureLocation
UITableViewCell
, который возвращает целое число, указывающее, что вам нужно:
С момента 2010 у меня не было проблем с использованием этого в нескольких приложениях производства.
UPDATE: один из наших двоичных файлов был недавно автоматически отклонен (в конце 2018), так как мы использовали свойство «sureLocation», поэтому это больше не подходит.
Добавьте что-то подобное в заголовочные файлы и используйте их:
typedef NS_ENUM(NSInteger, MMMTableViewCellLocation) {
MMMTableViewCellLocationUndefined = 0,
MMMTableViewCellLocationMiddle = 1,
MMMTableViewCellLocationTop = 2,
MMMTableViewCellLocationBottom = 3,
MMMTableViewCellLocationSingle = 4
};
@interface UITableViewCell ()
/** Undocumented method of UITableViewCell which allows to know where within section the cell is located,
* so the cell can draw its borders properly. */
- (MMMTableViewCellLocation)sectionLocation;
/** Override this one to know when the value of sectionLocation changes. */
- (void)setSectionLocation:(MMMTableViewCellLocation)sectionLocation animated:(BOOL)animated;
@end
-121--1431881- Возможно, стоит использовать __ обратный __
, если он доступен
if hasattr(my_iter,'__reversed__'):
last = next(reversed(my_iter))
else:
for last in my_iter:
pass
-121--755707- Сайт, вероятно, тестируется, если флэш-память установлена с помощью Часто этот тест выполняется только на стороне клиента и не должен влиять на страницу. Но, возможно, они запускают асинхронный запрос, сообщая серверу, что флэш установлен. Чтобы протестировать это, необходимо загрузить TtedData, загрузить окно TtedData из меню tools и обновить страницу. В окне будут отображены все инициируемые запросы, которые можно проверить. При наличии запроса, такого как http://whatever.com/flash_test.php?flash_installed=true , этот запрос можно воспроизвести с помощью LWP.
Другой вариант - декомпиляция флэш-приложения. Это очень легко сделать и часто вы получите полный источник, включая комментарии кода, и вот бесплатная пробная версия .